From 07c2d7e460c181fad3430e68b55ffc2f727086d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sun, 21 Jan 2024 11:50:13 +0100 Subject: [PATCH] use nh from nixpkgs, move common options from hosts/ to modules/common/ --- flake.lock | 37 +---------------------- flake.nix | 12 +++----- hosts/default.nix | 33 ++------------------- modules/system/common/default.nix | 49 +++++++++++++++++++++---------- 4 files changed, 41 insertions(+), 90 deletions(-) diff --git a/flake.lock b/flake.lock index 4765e53..1a27413 100644 --- a/flake.lock +++ b/flake.lock @@ -353,24 +353,6 @@ "type": "gitlab" } }, - "nh": { - "inputs": { - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1705251288, - "narHash": "sha256-TwCR7tZvrjsvz6SmgjWYOne7Qz7J2jn4Cr4Er0Yj+LA=", - "owner": "viperML", - "repo": "nh", - "rev": "36eba281576afe0f67e5aafb4e7a414f256dba31", - "type": "github" - }, - "original": { - "owner": "viperML", - "repo": "nh", - "type": "github" - } - }, "nix-std": { "locked": { "lastModified": 1701658249, @@ -449,22 +431,6 @@ } }, "nixpkgs_3": { - "locked": { - "lastModified": 1701263465, - "narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { "locked": { "lastModified": 1705697961, "narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=", @@ -551,8 +517,7 @@ "hercules-ci-effects": "hercules-ci-effects", "home-manager": "home-manager", "mailserver": "mailserver", - "nh": "nh", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nvidia-patch": "nvidia-patch", "racket": "racket", "wrapper-manager": "wrapper-manager", diff --git a/flake.nix b/flake.nix index 372b7d7..6f129f4 100644 --- a/flake.nix +++ b/flake.nix @@ -25,12 +25,11 @@ ... }: { devShells.default = pkgs.mkShellNoCC { - packages = - [ - inputs'.agenix.packages.agenix - ] + packages = [ + inputs'.agenix.packages.agenix # TODO: Contribute darwin support to nh - ++ lib.optionals (!pkgs.stdenv.isDarwin) [inputs'.nh.packages.default]; + pkgs.nh + ]; }; formatter = pkgs.alejandra; @@ -84,9 +83,6 @@ hercules-ci-effects = { url = "github:hercules-ci/hercules-ci-effects"; }; - nh = { - url = "github:viperML/nh"; - }; conduit-src = { url = "gitlab:famedly/conduit?ref=next"; flake = false; diff --git a/hosts/default.nix b/hosts/default.nix index 862bef4..f86cdff 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -17,40 +17,11 @@ ]; builders = let - # FIXME: Move to common sharedOptions = { - inputs', - lib, - ... - }: { _file = ./default.nix; - settei = { - username = lib.mkDefault "niko"; - sane-defaults = { - enable = lib.mkDefault true; - allSshKeys = config.assets.sshKeys.user; - tailnet = "discus-macaroni.ts.net"; - }; - flake-qol = { - enable = true; - inputs = inputs // {settei = self;}; - }; - user = { - enable = true; - config = { - home.packages = let - extraPkgs = [inputs'.nh.packages.default]; - in - [inputs'.settei.packages.base-packages] ++ extraPkgs; - - programs.git.enable = true; - home.sessionVariables.EDITOR = "hx"; - }; - }; - }; - - time.timeZone = lib.mkDefault "Europe/Warsaw"; + settei.sane-defaults.allSshKeys = config.assets.sshKeys.user; + settei.flake-qol.inputs = inputs // {settei = self;}; }; in { nixos = name: module: diff --git a/modules/system/common/default.nix b/modules/system/common/default.nix index 881966c..dd78e89 100644 --- a/modules/system/common/default.nix +++ b/modules/system/common/default.nix @@ -8,29 +8,48 @@ ... }: let sharedConfig = { - settei.user.config = { - programs.git = { + settei = { + username = lib.mkDefault "niko"; + sane-defaults = { + enable = lib.mkDefault true; + tailnet = "discus-macaroni.ts.net"; + }; + flake-qol.enable = true; + user = { enable = true; - difftastic.enable = true; - lfs.enable = true; - userName = "Nikodem Rabuliński"; - userEmail = lib.mkDefault "nikodem@rabulinski.com"; - signing = { - key = config.settei.sane-defaults.allSshKeys.${configurationName}; - signByDefault = true; - }; - extraConfig = { - gpg.format = "ssh"; - push.followTags = true; + config = { + home.packages = let + extraPkgs = [pkgs.nh]; + in + [inputs'.settei.packages.base-packages] ++ extraPkgs; + + home.sessionVariables.EDITOR = "hx"; + programs.git = { + enable = true; + difftastic.enable = true; + lfs.enable = true; + userName = "Nikodem Rabuliński"; + userEmail = lib.mkDefault "nikodem@rabulinski.com"; + signing = { + key = config.settei.sane-defaults.allSshKeys.${configurationName}; + signByDefault = true; + }; + extraConfig = { + gpg.format = "ssh"; + push.followTags = true; + }; + }; + + programs.fish.enable = true; }; }; - - programs.fish.enable = true; }; programs.fish.enable = true; users.users.${username}.shell = pkgs.fish; + time.timeZone = lib.mkDefault "Europe/Warsaw"; + # NixOS' fish module doesn't allow setting what package to use for fish, # so I need to override the fish package. nixpkgs.overlays = [(_: _: {inherit (inputs'.settei.packages) fish;})];