use nh from nixpkgs, move common options from hosts/ to modules/common/

This commit is contained in:
Nikodem Rabuliński 2024-01-21 11:50:13 +01:00
parent d46e1d0f32
commit 07c2d7e460
4 changed files with 41 additions and 90 deletions

37
flake.lock generated
View file

@ -353,24 +353,6 @@
"type": "gitlab" "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": { "nix-std": {
"locked": { "locked": {
"lastModified": 1701658249, "lastModified": 1701658249,
@ -449,22 +431,6 @@
} }
}, },
"nixpkgs_3": { "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": { "locked": {
"lastModified": 1705697961, "lastModified": 1705697961,
"narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=", "narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=",
@ -551,8 +517,7 @@
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"home-manager": "home-manager", "home-manager": "home-manager",
"mailserver": "mailserver", "mailserver": "mailserver",
"nh": "nh", "nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"nvidia-patch": "nvidia-patch", "nvidia-patch": "nvidia-patch",
"racket": "racket", "racket": "racket",
"wrapper-manager": "wrapper-manager", "wrapper-manager": "wrapper-manager",

View file

@ -25,12 +25,11 @@
... ...
}: { }: {
devShells.default = pkgs.mkShellNoCC { devShells.default = pkgs.mkShellNoCC {
packages = packages = [
[ inputs'.agenix.packages.agenix
inputs'.agenix.packages.agenix
]
# TODO: Contribute darwin support to nh # TODO: Contribute darwin support to nh
++ lib.optionals (!pkgs.stdenv.isDarwin) [inputs'.nh.packages.default]; pkgs.nh
];
}; };
formatter = pkgs.alejandra; formatter = pkgs.alejandra;
@ -84,9 +83,6 @@
hercules-ci-effects = { hercules-ci-effects = {
url = "github:hercules-ci/hercules-ci-effects"; url = "github:hercules-ci/hercules-ci-effects";
}; };
nh = {
url = "github:viperML/nh";
};
conduit-src = { conduit-src = {
url = "gitlab:famedly/conduit?ref=next"; url = "gitlab:famedly/conduit?ref=next";
flake = false; flake = false;

View file

@ -17,40 +17,11 @@
]; ];
builders = let builders = let
# FIXME: Move to common
sharedOptions = { sharedOptions = {
inputs',
lib,
...
}: {
_file = ./default.nix; _file = ./default.nix;
settei = { settei.sane-defaults.allSshKeys = config.assets.sshKeys.user;
username = lib.mkDefault "niko"; settei.flake-qol.inputs = inputs // {settei = self;};
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";
}; };
in { in {
nixos = name: module: nixos = name: module:

View file

@ -8,29 +8,48 @@
... ...
}: let }: let
sharedConfig = { sharedConfig = {
settei.user.config = { settei = {
programs.git = { username = lib.mkDefault "niko";
sane-defaults = {
enable = lib.mkDefault true;
tailnet = "discus-macaroni.ts.net";
};
flake-qol.enable = true;
user = {
enable = true; enable = true;
difftastic.enable = true; config = {
lfs.enable = true; home.packages = let
userName = "Nikodem Rabuliński"; extraPkgs = [pkgs.nh];
userEmail = lib.mkDefault "nikodem@rabulinski.com"; in
signing = { [inputs'.settei.packages.base-packages] ++ extraPkgs;
key = config.settei.sane-defaults.allSshKeys.${configurationName};
signByDefault = true; home.sessionVariables.EDITOR = "hx";
}; programs.git = {
extraConfig = { enable = true;
gpg.format = "ssh"; difftastic.enable = true;
push.followTags = 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; programs.fish.enable = true;
users.users.${username}.shell = pkgs.fish; 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, # NixOS' fish module doesn't allow setting what package to use for fish,
# so I need to override the fish package. # so I need to override the fish package.
nixpkgs.overlays = [(_: _: {inherit (inputs'.settei.packages) fish;})]; nixpkgs.overlays = [(_: _: {inherit (inputs'.settei.packages) fish;})];