Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Edit this configuration file to define what should be installed on
- # your system. Help is available in the configuration.nix(5) man page
- # and in the NixOS manual (accessible by running ‘nixos-help’).
- { config, pkgs, ... }:
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- networking.hostName = "nixos"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Enable networking
- networking.networkmanager.enable = true;
- # Set your time zone.
- time.timeZone = "Europe/Berlin";
- # Select internationalisation properties.
- i18n.defaultLocale = "en_GB.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "de_DE.UTF-8";
- LC_IDENTIFICATION = "de_DE.UTF-8";
- LC_MEASUREMENT = "de_DE.UTF-8";
- LC_MONETARY = "de_DE.UTF-8";
- LC_NAME = "de_DE.UTF-8";
- LC_NUMERIC = "de_DE.UTF-8";
- LC_PAPER = "de_DE.UTF-8";
- LC_TELEPHONE = "de_DE.UTF-8";
- LC_TIME = "de_DE.UTF-8";
- };
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- # Enable the GNOME Desktop Environment.
- services.xserver.displayManager.gdm.enable = true;
- services.xserver.desktopManager.gnome.enable = true;
- # Configure keymap in X11
- services.xserver = {
- layout = "de";
- xkbVariant = "";
- };
- # Configure console keymap
- console.keyMap = "de";
- # Enable CUPS to print documents.
- services.printing.enable = true;
- # see https://nixos.wiki/wiki/Printing
- services.printing.drivers = [pkgs.brlaser];
- services.avahi = {
- enable = true;
- nssmdns = true;
- openFirewall = true;
- };
- # Enable sound with pipewire.
- sound.enable = true;
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
- # use the example session manager (no others are packaged yet so this is enabled by default,
- # no need to redefine it in your config for now)
- #media-session.enable = true;
- };
- # Enable touchpad support (enabled default in most desktopManager).
- # services.xserver.libinput.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.adingbatponder = {
- isNormalUser = true;
- description = "adingbatponder";
- extraGroups = [ "networkmanager" "wheel" ];
- packages = with pkgs; [
- firefox
- # thunderbird
- ];
- };
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
- # wget
- bitwarden
- protonvpn-gui
- # authy failed to work so intalled google-authenticator even though apparently it is not so fab
- authy
- # google-authenticator runs from command line> google-authenticator
- google-authenticator
- # Gnome authenticator
- authenticator
- gnome.gnome-keyring
- protonmail-bridge
- threema-desktop
- whatsapp-for-linux
- # following removed because it seem not to result in any icon
- # home-assistant-component-tests.govee_ble
- gimp
- vscode
- git
- thunderbird
- # firefox stopped working 23-11-23 so installed fork librewolf on recommendation of Project Insanity@[email protected]
- librewolf
- firefox
- # brave installed becaus firefox crashed for certain security setting pages in bitwarden.com
- brave
- gnome.gnome-tweaks
- # element-desktop does not launch any sensible gui to tried element-web instead
- # element-desktop
- element-web
- skypeforlinux
- teams-for-linux
- # teams commented out because creates errors
- # teams
- # pdf stuff
- # recommended on https://opensource.com/alternatives/adobe-acrobat
- evince
- # just a random simple one
- mupdf
- # command line stuff follows:
- usbutils
- protonvpn-cli
- # end of command line stuff.
- # modem for sim lte
- modemmanager
- modem-manager-gui
- # for testing script
- # screen
- # irssi
- etcher #to make OS images
- ];
- nixpkgs.config.permittedInsecurePackages = [
- # 27-10-2023 to make error for bitwarden pass following recommendation from @[email protected]
- "electron-24.8.6"
- # 18-11-2023 for teams to work
- # "teams-1.5.00.23861"
- "electron-12.2.3" # for etcher to work
- ];
- systemd.user.services.startprotonvpn = {
- # startprotonvpn is the arbitrary name I have given this service
- description = "makes proton vpn start when user logs in after machine has just been booted";
- script = ''
- ${pkgs.protonvpn-cli}/bin/protonvpn-cli r
- '';
- # to run protonvpn from the command line the package protonvpn-cli was listed above in the environment.systempackages
- # the option r uses the previously used protonvpn connection as set by user manually in the GUI or command line
- # the so called killswitch setting (if on it cuts internet access if the vpn connection is lost or otherwise not active) in the GUI is on in this case - not sure that matters for this to work
- wantedBy = [ "graphical-session.target" ];
- partOf = [ "graphical-session.target" ];
- };
- # if running the the following command at the command line:
- # systemctl status startprotonvpn.service
- # the shell returns the following message:
- # Unit startprotonvpn.service could not be found.
- # so testing the above so-called service by eliminating error messages when using the above systemctl command was/is a waste of time in this case
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
- # List services that you want to enable:
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "23.05"; # Did you read the comment?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement