From b2f0797b0136cc0289ffe94a7c47539e0f0063b3 Mon Sep 17 00:00:00 2001 From: Fabian Hauser Date: Mon, 11 Apr 2022 15:05:05 +0200 Subject: [PATCH] Add hardware config and fix hummelberg build --- defaults/base/default.nix | 6 +++-- {hardware => defaults/hardware}/amd-board.nix | 0 .../hardware}/ecc-memory.nix | 0 .../hardware}/thinkpad-p14s.nix | 12 +++++----- .../hardware}/thinkpad-t470s.nix | 13 +++++----- flake.lock | 24 +++++++++++++++---- flake.nix | 24 ++++++++++++++----- home/fhauser/applications/default.nix | 3 ++- home/fhauser/applications/gpg.nix | 3 +-- home/fhauser/applications/scripts.nix | 7 ++---- home/fhauser/applications/sway.nix | 3 ++- home/fhauser/games.nix | 11 ++------- host/hummelberg/default.nix | 6 +---- host/speer/default.nix | 5 ++-- overlays/default.nix | 3 ++- 15 files changed, 68 insertions(+), 52 deletions(-) rename {hardware => defaults/hardware}/amd-board.nix (100%) rename {hardware => defaults/hardware}/ecc-memory.nix (100%) rename {hardware => defaults/hardware}/thinkpad-p14s.nix (78%) rename {hardware => defaults/hardware}/thinkpad-t470s.nix (78%) diff --git a/defaults/base/default.nix b/defaults/base/default.nix index 4365fc7..1080ffb 100644 --- a/defaults/base/default.nix +++ b/defaults/base/default.nix @@ -1,12 +1,14 @@ { config, lib, pkgs, ... }: -let users = { +let + users = { fhauser = { uid = 1000; isNormalUser = true; description = "Fabian Hauser"; group = "fhauser"; - extraGroups = [ "wheel" "video" "docker" "networkmanager" "libvirtd" "adbusers" ]; + extraGroups = + [ "wheel" "video" "docker" "networkmanager" "libvirtd" "adbusers" ]; hashedPassword = "$6$rounds=20000$TYZ8CojfBLwejcwn$smEJe6/anL9NGf.Ytfny14nBfhr4TRPv2XK1lgHz7yg.zQow1HACePirEjsjxzFC6vTHGaT8t2NxobUsHbWLg1"; openssh.authorizedKeys.keys = [ diff --git a/hardware/amd-board.nix b/defaults/hardware/amd-board.nix similarity index 100% rename from hardware/amd-board.nix rename to defaults/hardware/amd-board.nix diff --git a/hardware/ecc-memory.nix b/defaults/hardware/ecc-memory.nix similarity index 100% rename from hardware/ecc-memory.nix rename to defaults/hardware/ecc-memory.nix diff --git a/hardware/thinkpad-p14s.nix b/defaults/hardware/thinkpad-p14s.nix similarity index 78% rename from hardware/thinkpad-p14s.nix rename to defaults/hardware/thinkpad-p14s.nix index 637a347..2589118 100644 --- a/hardware/thinkpad-p14s.nix +++ b/defaults/hardware/thinkpad-p14s.nix @@ -1,11 +1,11 @@ -{ config, lib, pkgs, modulesPath, ... }: { +{ config, lib, pkgs, modulesPath, hardwareModules, ... }: { - imports = [ + imports = with hardwareModules; [ (modulesPath + "/installer/scan/not-detected.nix") - - - - + lenovo-thinkpad-t14 + common-cpu-intel + common-pc-ssd + common-pc-laptop ]; boot.initrd.availableKernelModules = [ diff --git a/hardware/thinkpad-t470s.nix b/defaults/hardware/thinkpad-t470s.nix similarity index 78% rename from hardware/thinkpad-t470s.nix rename to defaults/hardware/thinkpad-t470s.nix index 23c1c83..875e354 100644 --- a/hardware/thinkpad-t470s.nix +++ b/defaults/hardware/thinkpad-t470s.nix @@ -1,11 +1,10 @@ -{ config, lib, pkgs, modulesPath, ... }: { +{ config, lib, pkgs, nixos-hardware, modulesPath, ... }: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - - - - ]; + imports = with nixos-hardware.nixosModules; + [ + (modulesPath + "/installer/scan/not-detected.nix") + # TODO: Not relevant anymore anyway + ]; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; diff --git a/flake.lock b/flake.lock index 296b83c..3ddd827 100644 --- a/flake.lock +++ b/flake.lock @@ -41,6 +41,21 @@ "type": "github" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1649660850, + "narHash": "sha256-x8ZE4B+EuA9dCEJKNzT59yQjzotVMnGYU5GMoqMLk3A=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "f4160a629bac3538939a3005c8b5c7fb320bcf59", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs-nixos-2111": { "locked": { "lastModified": 1647490331, @@ -91,11 +106,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1649408932, - "narHash": "sha256-JhTW1OtS5fACcRXLqcTTQyYO5vLkO+bceCqeRms13SY=", + "lastModified": 1649497218, + "narHash": "sha256-groqC9m1P4hpnL6jQvZ3C8NEtduhdkvwGT0+0LUrcYw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "42948b300670223ca8286aaf916bc381f66a5313", + "rev": "fd364d268852561223a5ada15caad669fd72800e", "type": "github" }, "original": { @@ -111,7 +126,7 @@ "nixpkgs-nixos-unstable": "nixpkgs-nixos-unstable" }, "locked": { - "narHash": "sha256-MlaNIPEmdzbmd94VgUiWMAtha9RPx8MCo3ph/4/DONA=", + "narHash": "sha256-td+qvLGjYw0oRFYsMR4LKciDWyOoPGJJJ2phMFwN1ME=", "path": "/etc/nixos/qois-infrastructure", "type": "path" }, @@ -124,6 +139,7 @@ "inputs": { "fabianhauser-etaxes-sg": "fabianhauser-etaxes-sg", "home-manager": "home-manager", + "nixos-hardware": "nixos-hardware", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", "qois-infrastructure": "qois-infrastructure" diff --git a/flake.nix b/flake.nix index aeafd6c..f4a58f7 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ inputs = { nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-21.11"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; home-manager.url = "github:nix-community/home-manager/release-21.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs-stable"; qois-infrastructure.url = "path:/etc/nixos/qois-infrastructure"; @@ -9,14 +10,17 @@ fabianhauser-etaxes-sg.inputs.nixpkgs.follows = "nixpkgs-stable"; }; - outputs = { self, nixpkgs-unstable, nixpkgs-stable, home-manager, qois-infrastructure, fabianhauser-etaxes-sg, ... }@inputs: - let system = "x86_64-linux"; + outputs = { self, nixpkgs-unstable, nixpkgs-stable, home-manager + , qois-infrastructure, fabianhauser-etaxes-sg, nixos-hardware, ... }@inputs: + let + system = "x86_64-linux"; pkgsUnstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; # For vscode }; in { - checks.${system}.formatCheck = let pkgs = pkgsUnstable; in pkgs.runCommand "nixfmt-check" { } '' + checks.${system}.formatCheck = let pkgs = pkgsUnstable; + in pkgs.runCommand "nixfmt-check" { } '' set -euo pipefail cd ${self} ${pkgs.findutils}/bin/find . -type f -name '*.nix' -exec ${pkgs.nixfmt}/bin/nixfmt --check {} + @@ -31,18 +35,26 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit pkgsUnstable; pkgsEtaxesSg = fabianhauser-etaxes-sg.packages.${system}; }; + extraSpecialArgs = { + inherit pkgsUnstable; + pkgsEtaxesSg = fabianhauser-etaxes-sg.packages.${system}; + }; users.fhauser = import ./home/fhauser/default.nix; }; }; mapHostnameToAttr = host: nixpkgs-stable.lib.nixosSystem { inherit system; - modules = [ qois-infrastructure.nixosModule home-manager.nixosModules.home-manager home-manager-config ./host/${host}/default.nix ]; + specialArgs.hardwareModules = nixos-hardware.nixosModules; + modules = [ + qois-infrastructure.nixosModule + home-manager.nixosModules.home-manager + home-manager-config + ./host/${host}/default.nix + ]; }; in pkgsUnstable.lib.genAttrs hosts mapHostnameToAttr; - homeConfigurations = { fhauser = home-manager.lib.homeManagerConfiguration rec { inherit system; diff --git a/home/fhauser/applications/default.nix b/home/fhauser/applications/default.nix index 5735fe1..dd1ba3e 100644 --- a/home/fhauser/applications/default.nix +++ b/home/fhauser/applications/default.nix @@ -34,7 +34,8 @@ }; home = { - packages = with pkgsEtaxesSg; with pkgs; + packages = with pkgsEtaxesSg; + with pkgs; [ # Networking unison transmission # GUI Tools, maybe extract... diff --git a/home/fhauser/applications/gpg.nix b/home/fhauser/applications/gpg.nix index d4d5c06..a2228c2 100644 --- a/home/fhauser/applications/gpg.nix +++ b/home/fhauser/applications/gpg.nix @@ -1,7 +1,6 @@ { pkgs, pkgsUnstable, ... }: { #TODO: ENV variabls for agent - home.sessionVariables.SSH_AUTH_SOCK = - "/run/user/1000/gnupg/S.gpg-agent.ssh"; + home.sessionVariables.SSH_AUTH_SOCK = "/run/user/1000/gnupg/S.gpg-agent.ssh"; programs.gpg = { enable = true; package = pkgsUnstable.gnupg; diff --git a/home/fhauser/applications/scripts.nix b/home/fhauser/applications/scripts.nix index 6b14a27..5bcc3bb 100644 --- a/home/fhauser/applications/scripts.nix +++ b/home/fhauser/applications/scripts.nix @@ -25,7 +25,7 @@ let ${pkgs.pass-wayland}/bin/pass show -c "$password" 2>/dev/null ''; - threema-vpn = pkgs.writeScriptBin "threema-vpn" ""; #'' + threema-vpn = pkgs.writeScriptBin "threema-vpn" ""; # '' # #!${pkgs.stdenv.shell} # set -eo pipefail @@ -73,7 +73,4 @@ let ed ${xhost}/bin/xhost ''; -in { - home.packages = - [ passbemenu threema-vpn threema-env wsudo ]; -} +in { home.packages = [ passbemenu threema-vpn threema-env wsudo ]; } diff --git a/home/fhauser/applications/sway.nix b/home/fhauser/applications/sway.nix index 09ee49c..9ae9ab9 100644 --- a/home/fhauser/applications/sway.nix +++ b/home/fhauser/applications/sway.nix @@ -1,4 +1,5 @@ -{ pkgs, lib, config, ... }: let +{ pkgs, lib, config, ... }: +let adhereTheSwayTarget = { Install.WantedBy = lib.mkForce [ "sway-session.target" ]; Unit.PartOf = lib.mkForce [ "sway-session.target" ]; diff --git a/home/fhauser/games.nix b/home/fhauser/games.nix index ec66492..571c61e 100644 --- a/home/fhauser/games.nix +++ b/home/fhauser/games.nix @@ -2,15 +2,8 @@ { home.packages = with pkgs; - [ - neverball - wesnoth - pingus - superTux - superTuxKart - extremetuxracer - zeroad - ] ++ (with pkgs.gnome; [ # Selection of gnome games + [ neverball wesnoth pingus superTux superTuxKart extremetuxracer zeroad ] + ++ (with pkgs.gnome; [ # Selection of gnome games five-or-more four-in-a-row gnome-chess diff --git a/host/hummelberg/default.nix b/host/hummelberg/default.nix index 557ff38..11f5287 100644 --- a/host/hummelberg/default.nix +++ b/host/hummelberg/default.nix @@ -6,14 +6,10 @@ #./printing.nix #./backup.nix #TODO: Extract applications from desktop role - ../../hardware/thinkpad-p14s.nix - ../../defaults/base ../../defaults/cifs-auth-fix ../../defaults/desktop - #../../defaults/games - ../../defaults/user-configuration - ../../defaults/user-configuration/fhauser + ../../defaults/hardware/thinkpad-p14s.nix #../../defaults/printing ]; diff --git a/host/speer/default.nix b/host/speer/default.nix index 341866b..cb6b8ee 100644 --- a/host/speer/default.nix +++ b/host/speer/default.nix @@ -6,12 +6,11 @@ #./printing.nix #./backup.nix #TODO: Extract applications from desktop role - ../../hardware/amd-board.nix - ../../hardware/ecc-memory.nix - ../../defaults/base ../../defaults/cifs-auth-fix ../../defaults/desktop + ../../defaults/hardware/amd-board.nix + ../../defaults/hardware/ecc-memory.nix #../../defaults/printing ]; diff --git a/overlays/default.nix b/overlays/default.nix index 478c7b6..328698d 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,3 +1,4 @@ -self: super: { +self: super: +{ }