My nix config
1{
2 description = "Dario's flake config";
3 # Inspired by https://github.com/Misterio77/nix-starter-configs
4
5 inputs = {
6 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
7 home-manager = {
8 url = "github:nix-community/home-manager";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11 helix-master = {
12 url = "github:helix-editor/helix";
13 };
14 hyprland = {
15 url = "github:hyprwm/Hyprland";
16 };
17 hyprland-plugins = {
18 url = "github:hyprwm/hyprland-plugins";
19 inputs.hyprland.follows = "hyprland";
20 };
21 hy3 = {
22 url = "github:outfoxxed/hy3";
23 inputs.hyprland.follows = "hyprland";
24 };
25 jiratui = {
26 url = "github:whyisdifficult/jiratui";
27 };
28 ki-editor.url = "github:ki-editor/ki-editor";
29 slk = {
30 url = "github:dariooddenino/slk-flake/flake";
31
32 };
33 waterfox.url = "github:Hythera/nix-waterfox";
34 zen-browser = {
35 url = "github:youwen5/zen-browser-flake";
36 inputs.nixpkgs.follows = "nixpkgs";
37 };
38 };
39
40 outputs =
41 {
42 nixpkgs,
43 home-manager,
44 helix-master,
45 hy3,
46 ki-editor,
47 slk,
48 ...
49 }@inputs:
50 let
51 system = "x86_64-linux";
52 pkgs = import nixpkgs {
53 system = "x86_64-linux";
54 config.allowUnfree = true;
55 };
56 in
57 {
58
59 # Custom packages
60 packages = import ./pkgs pkgs;
61
62 # Custom packages and modifications, exported as overlays
63 overlays = import ./overlays { inherit inputs; };
64
65 # Reusable nixos modules you might want to export
66 nixosModules = import ./modules/nixos;
67
68 # Reusable home-manager modules you might want to export
69 homeManagerModules = import ./modules/home-manager;
70
71 # NixOS configuration entrypoint
72 # Available through 'nixos-rebuild --flake .#your-hostname'
73 nixosConfigurations = {
74 t470p = nixpkgs.lib.nixosSystem {
75 inherit system;
76 specialArgs = { inherit inputs; ki-editor = ki-editor; slk = slk; };
77 modules = [
78 ./nixos/hosts/hardware-configuration-t470p.nix
79 ./nixos/configuration.nix
80 ./nixos/hosts/t470p.nix
81 home-manager.nixosModules.home-manager
82 {
83 home-manager = {
84 useGlobalPkgs = true;
85 backupFileExtension = "backup";
86 users.dario = import ./home-manager/home.nix;
87 extraSpecialArgs = {
88 helix-master = helix-master;
89 inherit inputs;
90 };
91 };
92 }
93 ];
94 };
95 home = nixpkgs.lib.nixosSystem {
96 inherit system;
97 specialArgs = { inherit inputs; ki-editor = ki-editor; slk = slk; };
98 modules = [
99 ./nixos/hosts/hardware-configuration-home.nix
100 ./nixos/configuration.nix
101 ./nixos/hosts/home.nix
102 home-manager.nixosModules.home-manager
103 {
104 home-manager = {
105 useGlobalPkgs = true;
106 backupFileExtension = "backup";
107 users.dario = import ./home-manager/home.nix;
108 extraSpecialArgs = {
109 helix-master = helix-master;
110 inherit inputs;
111 };
112 };
113 }
114 ];
115 };
116 };
117
118 };
119}