-
-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathflake.nix
More file actions
104 lines (95 loc) · 3.16 KB
/
Copy pathflake.nix
File metadata and controls
104 lines (95 loc) · 3.16 KB
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
{
description = "KooL's NixOS-Hyprland";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
#nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixvim.url = "github:nix-community/nixvim/main";
#hyprland.url = "github:hyprwm/Hyprland"; # hyprland development
alejandra.url = "github:kamadorueda/alejandra";
ags = {
type = "github";
owner = "aylur";
repo = "ags";
ref = "v1";
};
catppuccin = {
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs @ { self
, nixpkgs
, ags
, alejandra
, ...
}:
let
system = "x86_64-linux";
host = "jak-hl";
username = "dwilliams";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
waybarWeatherPkg = pkgs.callPackage ./pkgs/waybar-weather.nix { };
in
{
packages.${system} = {
waybar-weather = waybarWeatherPkg;
};
nixosConfigurations = {
"${host}" = nixpkgs.lib.nixosSystem rec {
specialArgs = {
inherit system;
inherit inputs;
inherit username;
inherit host;
};
modules = [
./hosts/${host}/config.nix
# inputs.distro-grub-themes.nixosModules.${system}.default
./modules/overlays.nix # nixpkgs overlays (CMake policy fixes)
./modules/quickshell.nix # quickshell module
./modules/packages.nix # Software packages
# Allow broken packages (temporary fix for broken CUDA in nixos-unstable)
{ nixpkgs.config.allowBroken = true; }
./modules/fonts.nix # Fonts packages
./modules/portals.nix # portal
./modules/theme.nix # Set dark theme
./modules/ly.nix # ly greater with matrix animation
./modules/nh.nix # nix helper
inputs.catppuccin.nixosModules.catppuccin
# Integrate Home Manager as a NixOS module
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "hm-bak";
# Ensure HM modules can access flake inputs (e.g., inputs.nixvim)
home-manager.extraSpecialArgs = { inherit inputs system username host; };
home-manager.users.${username} = {
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "24.05";
# Import your copied HM modules
imports = [
./modules/home/default.nix
];
};
}
];
};
};
# Code formatter
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
};
}