fix homeConfiguration errors and add recipe for home-manager
This commit is contained in:
parent
b79c00310c
commit
66b740a123
7 changed files with 89 additions and 76 deletions
19
Justfile
19
Justfile
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
FLAKE_HOME := justfile_directory()
|
FLAKE_HOME := justfile_directory()
|
||||||
DEFAULT_SPECIALISATION := "default"
|
DEFAULT_SPECIALISATION := "default"
|
||||||
|
DEFAULT_KEEP_SINCE := "1w"
|
||||||
|
DEFAULT_USER := env('USER')
|
||||||
|
DEFAULT_HOST := shell('hostname')
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@just --list
|
@just --list
|
||||||
|
|
@ -18,15 +21,27 @@ build specialisation=DEFAULT_SPECIALISATION:
|
||||||
deploy host:
|
deploy host:
|
||||||
deploy {{ FLAKE_HOME }}#{{ host }}
|
deploy {{ FLAKE_HOME }}#{{ host }}
|
||||||
|
|
||||||
clean keep_since="1w":
|
clean keepSince=DEFAULT_KEEP_SINCE:
|
||||||
nh clean all --verbose -K {{ keep_since }} -k 5
|
nh clean all --verbose -K {{ keepSince }} -k 5
|
||||||
|
|
||||||
health:
|
health:
|
||||||
nix --accept-flake-config run github:juspay/nix-health
|
nix --accept-flake-config run github:juspay/nix-health
|
||||||
|
|
||||||
|
switchHome host=DEFAULT_HOST $USER=DEFAULT_USER:
|
||||||
|
@echo USER: $USER
|
||||||
|
@echo HOST: {{ host }}
|
||||||
|
nh home switch -b backup {{ if host != DEFAULT_HOST { "-c \"" + USER + "@" + host + "\"" } else { "" } }} {{ FLAKE_HOME }}
|
||||||
|
|
||||||
|
buildHome host=DEFAULT_HOST $USER=DEFAULT_USER:
|
||||||
|
@echo USER: $USER
|
||||||
|
@echo HOST: {{ host }}
|
||||||
|
nh home build -b backup {{ if host != DEFAULT_HOST { "-c \"" + USER + "@" + host + "\"" } else { "" } }} {{ FLAKE_HOME }}
|
||||||
|
|
||||||
alias s := switch
|
alias s := switch
|
||||||
alias u := update
|
alias u := update
|
||||||
alias d := deploy
|
alias d := deploy
|
||||||
alias c := clean
|
alias c := clean
|
||||||
alias h := health
|
alias h := health
|
||||||
alias b := build
|
alias b := build
|
||||||
|
alias H := switchHome
|
||||||
|
alias B := buildHome
|
||||||
|
|
|
||||||
22
flake.nix
22
flake.nix
|
|
@ -183,15 +183,15 @@
|
||||||
pkgs = nixpkgs.legacyPackages."${system}";
|
pkgs = nixpkgs.legacyPackages."${system}";
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
(./home + "/${unixName}/configurations/${hostName}")
|
"${toString ./home}/${unixName}/configurations/${hostName}"
|
||||||
]
|
]
|
||||||
++ (with outputs.homeManagerModules; [
|
++ (with outputs.homeManagerModules; [
|
||||||
default
|
default
|
||||||
"${unixName}"
|
extra
|
||||||
])
|
])
|
||||||
++ (with inputs; [
|
++ [
|
||||||
stylix.homeManagerModules.stylix
|
outputs.homeManagerModules."${unixName}"
|
||||||
]);
|
];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit
|
inherit
|
||||||
inputs
|
inputs
|
||||||
|
|
@ -220,18 +220,26 @@
|
||||||
homeManagerModules =
|
homeManagerModules =
|
||||||
{
|
{
|
||||||
default = import ./home/modules;
|
default = import ./home/modules;
|
||||||
|
extra = import ./home/extra;
|
||||||
}
|
}
|
||||||
// (
|
// (
|
||||||
let
|
let
|
||||||
allEntries = builtins.readDir ./home;
|
allEntries = builtins.readDir ./home;
|
||||||
allUsers = nixpkgs.lib.filterAttrs (
|
allUsers = nixpkgs.lib.filterAttrs (
|
||||||
key: value: value == "directory" && key != "modules"
|
key: value:
|
||||||
|
value == "directory"
|
||||||
|
&& (
|
||||||
|
!builtins.elem key [
|
||||||
|
"modules"
|
||||||
|
"extra"
|
||||||
|
]
|
||||||
|
)
|
||||||
) allEntries;
|
) allEntries;
|
||||||
in
|
in
|
||||||
builtins.listToAttrs (
|
builtins.listToAttrs (
|
||||||
map (name: {
|
map (name: {
|
||||||
name = name;
|
name = name;
|
||||||
value = import (./home + "/${name}/modules");
|
value = import "${toString ./home}/${name}/modules";
|
||||||
}) (builtins.attrNames allUsers)
|
}) (builtins.attrNames allUsers)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
11
home/extra/default.nix
Normal file
11
home/extra/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
(with inputs; [
|
||||||
|
niri-flake.homeModules.niri
|
||||||
|
stylix.homeManagerModules.stylix
|
||||||
|
])
|
||||||
|
++ [
|
||||||
|
./nix.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
46
home/extra/nix.nix
Normal file
46
home/extra/nix.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = (_: true);
|
||||||
|
};
|
||||||
|
overlays = [
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.additions
|
||||||
|
];
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
package = pkgs.nix;
|
||||||
|
settings = {
|
||||||
|
inherit (outputs.nix.settings) substituters;
|
||||||
|
trusted-public-keys = [
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
||||||
|
];
|
||||||
|
auto-optimise-store = lib.mkDefault true;
|
||||||
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
warn-dirty = false;
|
||||||
|
use-xdg-base-directories = true;
|
||||||
|
};
|
||||||
|
registry.home = lib.mkDefault {
|
||||||
|
from = {
|
||||||
|
type = "indirect";
|
||||||
|
id = "home";
|
||||||
|
};
|
||||||
|
flake = inputs.nixpkgs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
@ -9,21 +8,10 @@
|
||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
])
|
])
|
||||||
++ [
|
++ [
|
||||||
./nix.nix
|
|
||||||
./programs
|
./programs
|
||||||
./xdg-dirs.nix
|
./xdg-dirs.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
|
||||||
youthlic.nixos.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = ''
|
|
||||||
whether the os is nixos
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = {
|
config = {
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
cfg = config.youthlic.nixos;
|
|
||||||
in
|
|
||||||
(lib.mkIf (!cfg.enable) {
|
|
||||||
nixpkgs = {
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
allowUnfreePredicate = (_: true);
|
|
||||||
};
|
|
||||||
overlays = [
|
|
||||||
outputs.overlays.modifications
|
|
||||||
outputs.overlays.additions
|
|
||||||
];
|
|
||||||
};
|
|
||||||
nix = {
|
|
||||||
package = pkgs.nix;
|
|
||||||
settings = {
|
|
||||||
inherit (outputs.nix.settings) substituters;
|
|
||||||
trusted-public-keys = [
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
|
||||||
];
|
|
||||||
auto-optimise-store = lib.mkDefault true;
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
warn-dirty = false;
|
|
||||||
use-xdg-base-directories = true;
|
|
||||||
};
|
|
||||||
registry.home = lib.mkDefault {
|
|
||||||
from = {
|
|
||||||
type = "indirect";
|
|
||||||
id = "home";
|
|
||||||
};
|
|
||||||
flake = inputs.nixpkgs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -50,10 +50,6 @@
|
||||||
outputs.homeManagerModules."${unixName}"
|
outputs.homeManagerModules."${unixName}"
|
||||||
(rootPath + "/home/${unixName}/configurations/${hostName}")
|
(rootPath + "/home/${unixName}/configurations/${hostName}")
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
youthlic.nixos.enable = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue