From b7f3f8ceb58c200073a467dcfaa36088b43f4792 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Tue, 23 Nov 2021 22:17:41 +0100 Subject: [PATCH] split the base nixos config --- common/cli-packages.nix | 20 ++++++++++ common/common.nix | 82 +++++++++++++++++++++++++++++++++++++++++ common/desktop.nix | 77 ++------------------------------------ 3 files changed, 105 insertions(+), 74 deletions(-) create mode 100644 common/cli-packages.nix create mode 100644 common/common.nix diff --git a/common/cli-packages.nix b/common/cli-packages.nix new file mode 100644 index 0000000..36a5d99 --- /dev/null +++ b/common/cli-packages.nix @@ -0,0 +1,20 @@ +# 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, ... }: + +{ + environment.systemPackages = with pkgs; [ + git + highlight + htop + killall + ncdu + ranger + tree + vim + wget + ]; +} + diff --git a/common/common.nix b/common/common.nix new file mode 100644 index 0000000..a812f73 --- /dev/null +++ b/common/common.nix @@ -0,0 +1,82 @@ +# 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 = [ + ./cli-packages.nix + ./home-manager.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + # Set your time zone. + time.timeZone = "Europe/Zurich"; + + networking = { + firewall.allowedTCPPorts = [ 22 ]; + # firewall.allowedUDPPorts = [ ... ]; + }; + + hardware = { + cpu.intel.updateMicrocode = true; + enableRedistributableFirmware = true; + }; + + services = { + openssh.enable = true; + }; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.andreas = { + isNormalUser = true; + initialPassword = "password"; + extraGroups = [ + "wheel" + "networkmanager" + ]; + }; + + # allow non-free packages + nixpkgs.config.allowUnfree = true; + + # enable garbage collection + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + + environment.shellAliases = { + nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; + rebuild = "sudo nixos-rebuild switch"; + }; + + environment.variables = { + EDITOR = "vim"; + HIGHLIGHT_STYLE = "solarized-light"; + }; + + # 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/common/desktop.nix b/common/desktop.nix index 6e162c5..613a360 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -5,44 +5,19 @@ { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./home-manager.nix - ]; - - # Use the systemd-boot EFI boot loader. - boot.loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - - # Set your time zone. - time.timeZone = "Europe/Zurich"; + imports = [ + ./common.nix + ]; networking = { networkmanager.enable = true; - firewall.allowedTCPPorts = [ 22 ]; - # firewall.allowedUDPPorts = [ ... ]; - }; - - hardware = { - cpu.intel.updateMicrocode = true; - enableRedistributableFirmware = true; }; services = { - openssh.enable = true; autorandr.enable = true; printing.enable = true; }; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - # Enable the X11 windowing system. services.xserver = { enable = true; @@ -58,7 +33,6 @@ source-code-pro ]; - # Enable keyring security.pam.services.lightdm.enableGnomeKeyring = true; services.gnome.gnome-keyring.enable = true; @@ -67,26 +41,6 @@ sound.enable = true; hardware.pulseaudio.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" - ]; - }; - - # allow non-free packages - nixpkgs.config.allowUnfree = true; - - # enable garbage collection - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - # enable steam programs.steam.enable = true; hardware.steam-hardware.enable = true; @@ -98,14 +52,7 @@ lockerCommand = "i3lock -c 000000"; }; - environment.shellAliases = { - nix-generations = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; - rebuild = "sudo nixos-rebuild switch"; - }; - environment.variables = { - EDITOR = "vim"; - HIGHLIGHT_STYLE = "solarized-light"; ZWEILI_ENVIRONMENT = "desktop"; }; @@ -114,33 +61,15 @@ celluloid firefox gimp - git - highlight - htop i3lock inkscape - killall libreoffice-fresh lxappearance - ncdu nitrogen pavucontrol - ranger rofi source-code-pro terminator - tree - vim - wget ]; - - # 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? - }