From 2da73c5829aa5367f5240583fb180a3216579553 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Mon, 22 Nov 2021 15:12:19 +0100 Subject: [PATCH] splitting the base configs --- common/destop.nix | 140 ++++++++++++++++++++ hardware/asus/configuration.nix | 123 +---------------- hardware/vm/configuration.nix | 119 +---------------- hardware/xps5530/configuration.nix | 119 +---------------- hardware/xps5530/hardware-configuration.nix | 14 +- 5 files changed, 151 insertions(+), 364 deletions(-) create mode 100644 common/destop.nix diff --git a/common/destop.nix b/common/destop.nix new file mode 100644 index 0000000..1eb96ea --- /dev/null +++ b/common/destop.nix @@ -0,0 +1,140 @@ +# 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. + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "staubfinger"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Set your time zone. + time.timeZone = "Europe/Zurich"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + # networking.useDHCP = true; + networking.interfaces.enp0s20u1.useDHCP = true; + networking.networkmanager.enable = true; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + + services.xserver.displayManager.lightdm.enable = true; + services.xserver.displayManager.defaultSession = "none+qtile"; + services.xserver.windowManager = { + qtile.enable = true; + }; + services.autorandr.enable = true; + + # Configure keymap in X11 + services.xserver.layout = "us"; + services.xserver.xkbOptions = "compose:ralt"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable keyring + security.pam.services.lightdm.enableGnomeKeyring = true; + services.gnome.gnome-keyring.enable = true; + + # Enable sound. + sound.enable = true; + hardware.pulseaudio.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.andreas = { + isNormalUser = true; + initialPassword = "password"; + extraGroups = [ + "wheel" + "networkmanager" + ]; # Enable ‘sudo’ for the user. + }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + # allow non-free packages + nixpkgs.config.allowUnfree = true; + + # enable steam + programs.steam.enable = true; + hardware.steam-hardware.enable = true; + + environment.shellAliases = { + nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; + }; + environment.variables = { + EDITOR = "vim"; + HIGHLIGHT_STYLE = "solarized-light"; + ZWEILI_ENVIRONMENT = "desktop"; + }; + environment.systemPackages = with pkgs; [ + arc-theme + celluloid + firefox + git + highlight + htop + ncdu + nitrogen + ranger + rofi + terminator + vim + wget + ]; + + # 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 = [ 22 ]; + # 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 = "21.05"; # Did you read the comment? + +} + diff --git a/hardware/asus/configuration.nix b/hardware/asus/configuration.nix index 6056656..24a6116 100644 --- a/hardware/asus/configuration.nix +++ b/hardware/asus/configuration.nix @@ -7,136 +7,15 @@ { imports = [ # Include the results of the hardware scan. + ../common/desktop.nix ./hardware-configuration.nix ]; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "staubfinger"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Set your time zone. - time.timeZone = "Europe/Zurich"; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - # networking.useDHCP = true; networking.interfaces.enp0s20u1.useDHCP = true; - networking.networkmanager.enable = true; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - - services.xserver.displayManager.lightdm.enable = true; - services.xserver.displayManager.defaultSession = "none+qtile"; - services.xserver.windowManager = { - qtile.enable = true; - }; - services.autorandr.enable = true; - - # Configure keymap in X11 - services.xserver.layout = "us"; - services.xserver.xkbOptions = "compose:ralt"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable keyring - security.pam.services.lightdm.enableGnomeKeyring = true; - services.gnome.gnome-keyring.enable = true; - - # Enable sound. - sound.enable = true; - hardware.pulseaudio.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.andreas = { - isNormalUser = true; - initialPassword = "password"; - extraGroups = [ - "wheel" - "networkmanager" - ]; # Enable ‘sudo’ for the user. - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - # allow non-free packages - nixpkgs.config.allowUnfree = true; - - # enable steam - programs.steam.enable = true; - hardware.steam-hardware.enable = true; - - environment.shellAliases = { - nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; - }; environment.variables = { - EDITOR = "vim"; - HIGHLIGHT_STYLE = "solarized-light"; ZWEILI_HARDWARE = "asus"; - ZWEILI_ENVIRONMENT = "desktop"; }; - environment.systemPackages = with pkgs; [ - arc-theme - celluloid - firefox - git - highlight - htop - ncdu - nitrogen - ranger - rofi - terminator - vim - wget - ]; - - # 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 = [ 22 ]; - # 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 = "21.05"; # Did you read the comment? } diff --git a/hardware/vm/configuration.nix b/hardware/vm/configuration.nix index cd5e584..e37c896 100644 --- a/hardware/vm/configuration.nix +++ b/hardware/vm/configuration.nix @@ -7,132 +7,15 @@ { imports = [ # Include the results of the hardware scan. + ../common/desktop.nix ./hardware-configuration.nix ]; - # Use the systemd-boot EFI boot loader. - 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. - - # Set your time zone. - time.timeZone = "Europe/Zurich"; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.useDHCP = false; networking.interfaces.enp0s3.useDHCP = true; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - - services.xserver.displayManager.lightdm.enable = true; - services.xserver.displayManager.defaultSession = "none+qtile"; - services.xserver.windowManager = { - qtile.enable = true; - }; - services.autorandr.enable = true; - - # Configure keymap in X11 - services.xserver.layout = "us"; - services.xserver.xkbOptions = "compose:ralt"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable keyring - security.pam.services.lightdm.enableGnomeKeyring = true; - services.gnome.gnome-keyring.enable = true; - - # Enable sound. - sound.enable = true; - hardware.pulseaudio.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.andreas = { - isNormalUser = true; - initialPassword = "password"; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - # allow non-free packages - nixpkgs.config.allowUnfree = true; - - # enable steam - programs.steam.enable = true; - hardware.steam-hardware.enable = true; - - environment.shellAliases = { - nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; - }; environment.variables = { - EDITOR = "vim"; - HIGHLIGHT_STYLE = "solarized-light"; ZWEILI_HARDWARE = "vm"; - ZWEILI_ENVIRONMENT = "desktop"; }; - environment.systemPackages = with pkgs; [ - arc-theme - celluloid - firefox - git - highlight - htop - ncdu - nitrogen - ranger - rofi - terminator - vim - wget - ]; - - # 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 = [ 22 ]; - # 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 = "21.05"; # Did you read the comment? } diff --git a/hardware/xps5530/configuration.nix b/hardware/xps5530/configuration.nix index 76c31bd..e598861 100644 --- a/hardware/xps5530/configuration.nix +++ b/hardware/xps5530/configuration.nix @@ -7,132 +7,15 @@ { imports = [ # Include the results of the hardware scan. + ../common/desktop.nix ./hardware-configuration.nix ]; - # Use the systemd-boot EFI boot loader. - 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. - - # Set your time zone. - time.timeZone = "Europe/Zurich"; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.useDHCP = false; networking.interfaces.enp0s3.useDHCP = true; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - - services.xserver.displayManager.lightdm.enable = true; - services.xserver.displayManager.defaultSession = "none+qtile"; - services.xserver.windowManager = { - qtile.enable = true; - }; - services.autorandr.enable = true; - - # Configure keymap in X11 - services.xserver.layout = "us"; - services.xserver.xkbOptions = "compose:ralt"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable keyring - security.pam.services.lightdm.enableGnomeKeyring = true; - services.gnome.gnome-keyring.enable = true; - - # Enable sound. - sound.enable = true; - hardware.pulseaudio.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.andreas = { - isNormalUser = true; - initialPassword = "password"; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - # allow non-free packages - nixpkgs.config.allowUnfree = true; - - # enable steam - programs.steam.enable = true; - hardware.steam-hardware.enable = true; - - environment.shellAliases = { - nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; - }; environment.variables = { - EDITOR = "vim"; - HIGHLIGHT_STYLE = "solarized-light"; ZWEILI_HARDWARE = "xps5530"; - ZWEILI_ENVIRONMENT = "desktop"; }; - environment.systemPackages = with pkgs; [ - arc-theme - celluloid - firefox - git - highlight - htop - ncdu - nitrogen - ranger - rofi - terminator - vim - wget - ]; - - # 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 = [ 22 ]; - # 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 = "21.05"; # Did you read the comment? } diff --git a/hardware/xps5530/hardware-configuration.nix b/hardware/xps5530/hardware-configuration.nix index 8453137..78ef8d2 100644 --- a/hardware/xps5530/hardware-configuration.nix +++ b/hardware/xps5530/hardware-configuration.nix @@ -4,13 +4,15 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = [ ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "ata_piix" "ohci_pci" "sd_mod" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "aesni_intel" "cryptd" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - + boot.initrd.luks.devices."cryptlvm".device = "/dev/sda2"; fileSystems."/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; @@ -25,5 +27,5 @@ [ { device = "/dev/disk/by-label/swap"; } ]; - virtualisation.virtualbox.guest.enable = true; } +