-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflake.nix
89 lines (77 loc) · 2.9 KB
/
flake.nix
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
{
description = "My NixOS system configuration";
inputs = {
## -- system modules -- ##
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# NixOS User Repository
nur.url = "github:nix-community/NUR";
## -- system modules -- ##
# vscode extensions set of packages(nixpkgs doesn't contain needed extensions)
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
nix-vscode-extensions.inputs.nixpkgs.follows = "nixpkgs";
# @donteatoreo - dis is a simple tool to compress videos
dis.url = "github:DontEatOreo/dis";
dis.inputs.nixpkgs.follows = "nixpkgs";
nixcord.url = "github:kaylorben/nixcord";
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
basic-go-web-app.url = "path:/home/nanachi/playground/golang/simpleWebService";
basic-go-web-app.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
inputs:
let
hostName = "nixos";
userName = "nanachi";
in
{
nixosConfigurations = {
${hostName} = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
./nixos/configuration.nix
inputs.basic-go-web-app.nixosModules.default
inputs.home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${userName} = {
imports = [
./home-manager/programs/nixvim.nix
./home-manager/programs/vscode/default.nix
./home-manager/programs/vscode/extensions.nix
./home-manager/programs/vscode/settings.nix
./home-manager/programs/firefox/firefox.nix
./home-manager/programs/discord/nixcord.nix
./home-manager/programs/chromium.nix
./home-manager/programs/direnv.nix
./home-manager/programs/kitty.nix
./home-manager/programs/taskwarrior.nix
./home-manager/programs/packages.nix
./home-manager/programs/zsh.nix
./home-manager/home.nix
inputs.nixcord.homeManagerModules.nixcord
inputs.nur.modules.homeManager.default
inputs.nixvim.homeManagerModules.nixvim
];
home = {
stateVersion = "24.11";
};
};
backupFileExtension = "backup1";
extraSpecialArgs = {
inherit inputs;
};
};
}
];
};
};
};
}