1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
{
description = "jolheiser's nixos config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs = {
darwin.follows = "";
home-manager.follows = "home-manager";
nixpkgs.follows = "nixpkgs";
};
};
nixos-hardware.url = "github:nixos/nixos-hardware/master";
catppuccin.url = "github:catppuccin/nix";
nur.url = "github:nix-community/NUR";
helix.url = "git+https://git.jolheiser.com/helix.drv.git";
gomodinit.url = "git+https://git.jolheiser.com/gomodinit.git";
cfg.url = "git+https://git.jolheiser.com/cfg.git";
spectre.url = "git+https://git.jolheiser.com/go-spectre.git";
pokego.url = "git+https://git.jolheiser.com/pokego.git";
tclip.url = "github:tailscale-dev/tclip";
};
outputs =
{
nixpkgs,
home-manager,
nixos-hardware,
agenix,
catppuccin,
...
}@inputs:
let
jolheiser = import ./config.nix { inherit pkgs; };
system = "x86_64-linux";
overlay = _: prev: {
nur = import inputs.nur {
nurpkgs = prev;
pkgs = prev;
};
jolheiser = {
helix = inputs.helix.packages.${prev.system}.default;
gomodinit = inputs.gomodinit.packages.${prev.system}.default;
cfg = inputs.cfg.packages.${prev.system}.default;
spectre = inputs.spectre.packages.${prev.system}.default;
pokego = inputs.pokego.packages.${prev.system}.default;
};
tclip = inputs.tclip.packages.${prev.system}.tclip;
};
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [ overlay ];
config.allowUnfree = true;
};
homeManagerModules = [
agenix.homeManagerModules.age
catppuccin.homeModules.catppuccin
./home
./home/gui
];
in
{
inherit homeManagerModules;
config = {
inherit jolheiser;
default = jolheiser;
};
overlays = {
jolheiser = overlay;
default = overlay;
};
homeConfigurations."jolheiser" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit jolheiser;
};
modules = homeManagerModules ++ [ ./home/de ];
};
nixosConfigurations."genmaicha" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit jolheiser;
};
modules = [
nixos-hardware.nixosModules.framework-13-7040-amd
catppuccin.nixosModules.catppuccin
./nixos/genmaicha
(
{ config, ... }:
{
config.nixpkgs.overlays = [ overlay ];
}
)
];
};
devShells.${system}.default = pkgs.mkShell {
nativeBuildInputs = [
agenix.packages.${system}.agenix
];
};
};
}
|