use nh from nixpkgs, move common options from hosts/ to modules/common/
This commit is contained in:
parent
d46e1d0f32
commit
07c2d7e460
4 changed files with 41 additions and 90 deletions
37
flake.lock
generated
37
flake.lock
generated
|
@ -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",
|
||||||
|
|
12
flake.nix
12
flake.nix
|
@ -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;
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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;})];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue