Compare commits

..
Author SHA1 Message Date
lucy
8e907b1ad4 add module for gaming 2026-11-03 15:41:21 +01:00
lucy
4af197d174 remove emacs autosave file 2026-11-03 15:32:07 +01:00
lucy
8b21230a3b remove hermes desktop app 2026-11-03 15:31:31 +01:00
lucy
437a074fe8 use tokyo-night-dark 2026-11-03 11:13:11 +01:00
lucy
0fe3abef0e remove stale emacs lock 2026-11-02 13:13:30 +01:00
lucy
a695cd5132 add nautilus module 2026-11-02 13:12:27 +01:00
lucy
7e933a89b0 add ani-cli to system packages 2026-10-30 21:49:25 +01:00
lucy
d160a58984 add clangd config file 2026-10-29 11:59:00 +01:00
lucy
e313c72d46 use gruvbox-dark-hard 2026-10-28 15:18:31 +01:00
lucy
29e7918966 switch fonts 2026-10-28 15:14:51 +01:00
lucy
1ed478d987 change packages and add needed packages for hermes screen to hermes.nix 2026-10-26 22:20:00 +01:00
lucy
c0f1b2abd7 add components for hermes screen 2026-10-26 14:22:37 +01:00
lucy
3bf7626b15 reload qs on hm activation 2026-10-26 10:48:34 +01:00
lucy
b79a4b248c flake.lock: Update
Flake lock file updates:

• Updated input 'hermes-agent':
    'github:NousResearch/hermes-agent/1c0cd667746d3395fe9e1b6c74f8f85952486f18?narHash=sha256-q%2BGuDKV3sve6ZIBTQ370%2BP/H70YxKANDjAG/Fb3%2BBsw%3D' (2026-10-24)
  → 'github:NousResearch/hermes-agent/9b904dcc22c23fe8b82834339bbdd96495072e59?narHash=sha256-gZD8QVfZU4d19WbpGU1d3a1N4iJ0w1b916b/V%2BP0%2Bcc%3D' (2026-10-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/ec80131710bffcdf3b8498cf41f3a0579833b023?narHash=sha256-TyoYH983Nsc%2B%2B1scw0SoOEKshPSJWJDxK7tTmuZ974M%3D' (2026-10-20)
  → 'github:nix-community/home-manager/c216bf5a1f173b0481bd5c8c489ebe5595ecc68c?narHash=sha256-/0tELNnhdSnP%2BbHSdWiEe6KpfSwi6WrTnT9cm/jNkjA%3D' (2026-10-25)
• Updated input 'nixcord':
    'github:4evy/nixcord/99ad1fb696c3b761ea6dac99211c862b9ca64571?narHash=sha256-XpP8ws1IYlvoQVN27adsJkLP5IsJ6H/o8aWtS3WrE2s%3D' (2026-10-21)
  → 'github:4evy/nixcord/63e33cd00b08ef49b6623a1b6f9f27f69049d1a9?narHash=sha256-i8nr7pMfov5q0W5m1UCeNYGClbA4hdbmTwa%2BOkumdlY%3D' (2026-10-26)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/02c087f3fe673c9e317f206a627cb6b910336dbe?narHash=sha256-IoNisKcGbUjdd45qCqywGMCYmZ5EnkxezvLII0FWwNA%3D' (2026-10-20)
  → 'github:nixos/nixpkgs/3ec636362e1816bc2f0888fa0fa2c69f1bc9e504?narHash=sha256-rZLrzrC6i%2BjnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw%3D' (2026-10-23)
• Updated input 'spicetify-nix':
    'github:Gerg-L/spicetify-nix/fc58c85761e0893299092f482150305b1ef60914?narHash=sha256-W76wP2Kr/a/E2IMK3wtBD5WaTJJnB21C25pWUbD5IC8%3D' (2026-10-18)
  → 'github:Gerg-L/spicetify-nix/f6eb8135c060130150c8fbcc6b7cf5e22e5179d8?narHash=sha256-gJ8uPmQFhJ98X%2BVWPpD%2Bo0tnQ0nJjbG%2BZ3QDHcSJKw0%3D' (2026-10-25)
• Updated input 'stylix':
    'github:nix-community/stylix/2856c4c6a845b9bec98828ef197abe176e4806bb?narHash=sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8%3D' (2026-10-09)
  → 'github:nix-community/stylix/3e27b6c499e507df6e3bb8eca3614f5c95e28140?narHash=sha256-2pkE97wOXAYIn2/Nhs9y%2BiR0qVT%2Bg/3UtukXdkywxXc%3D' (2026-10-25)
2026-10-26 10:15:33 +01:00
lucy
25f89042ad switch colorscheme and add hermes agent 2026-10-26 10:11:43 +01:00
lucy
21b058e1db add needed font packages 2026-10-24 00:26:54 +02:00
lucy
9031a8306b add qt targets to stylix 2026-10-22 13:55:46 +02:00
lucy
951406bed2 remove btop from systempackages 2026-10-22 11:25:55 +02:00
lucy
67824a0c5a add btop module 2026-10-22 11:25:15 +02:00
lucy
8d3a9b8b4b enable stylix target for spicetify 2026-10-22 10:22:05 +02:00
lucy
1f64b16ade add spicetify module 2026-10-22 10:16:29 +02:00
lucy
f7f29fd891 forgot some packages 2026-10-22 10:12:27 +02:00
lucy
eccf12805c install emacs packages via nix instead of use-package 2026-10-22 10:09:34 +02:00
955c926ec3 move firmware shit to core.nix 2026-10-21 22:51:02 +02:00
lucy
8207e7cfe0 fix firmware shit 2026-10-21 22:31:01 +02:00
lucy
58d312bc11 fix errors (self.nixosModules missing), typo 2026-10-21 21:44:54 +02:00
lucy
09bb5db1ab add seele hw config 2026-10-21 21:42:32 +02:00
408ccf7b22 remove unneeded packages 2026-10-21 21:35:27 +02:00
db536c6b80 make limine use no wallpaper 2026-10-21 21:33:45 +02:00
88972aa4a2 overhaul repo structure, 2 2026-10-21 21:33:10 +02:00
d1712461f6 overhaul repo structure 2026-10-21 21:32:54 +02:00
47cd47b4f2 seperate hw config and quirks 2026-10-21 21:29:57 +02:00
29a224e6bd fix typos 2026-10-21 21:27:32 +02:00
4e3838b97f add bluetooth and nvidia modules + hw config 2026-10-21 21:24:16 +02:00
911685f9ee misspelled name 2026-10-21 21:16:35 +02:00
b7302531f7 rename stylix module and add syncthing 2026-10-21 21:14:28 +02:00
8d42e6e0b5 add gdm and update ghostty config 2026-10-21 15:57:50 +02:00
c6c44123b9 update lockfile and lock drawing tablets to main screen 2026-10-21 15:04:20 +02:00
548bec32ab add state 2026-10-21 14:30:52 +02:00
lucy
3c7efc01d9 fix infinite recursion error 2026-10-20 23:25:00 +02:00
lucy
00676cb2ac add quickshell module 2026-10-20 23:13:22 +02:00
lucy
4905397ff7 rename stylix modules 2026-10-20 11:56:19 +02:00
lucy
dccecc00b2 add chromim module 2026-10-20 10:43:10 +02:00
lucy
75c6cfcb18 remove home.files module from user.nix 2026-10-20 10:34:11 +02:00
lucy
9a056e8442 remove home.files module 2026-10-20 10:33:52 +02:00
lucy
56ba1a0513 add qs-theme module 2026-10-20 09:57:03 +02:00
lucy
bb361f2868 convert niri module to nix 2026-10-20 08:30:35 +02:00
409b6948c3 Merge pull request 'flake-parts' (#1) from flake-parts into main
Reviewed-on: #1
2026-10-19 22:40:54 +00:00
29 changed files with 722 additions and 247 deletions

217
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790734419, "lastModified": 1792507013,
"narHash": "sha256-n7wew722m1OTBT9DOIMxNX/NF4zfsSUABAO5eW3wikE=", "narHash": "sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V+l4ibzC7U=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "3daa710894355fa2fad8243380af373a2b4046ef", "rev": "5e5b88a0c8e56f291a108c2fe9934054d9745b2e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -123,6 +123,27 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"hermes-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1790898470,
"narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "024633cd702b10285db5cb19b40ad48d2399ba60",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@ -178,6 +199,34 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"hermes-agent": {
"inputs": {
"flake-parts": "flake-parts_2",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"npm-lockfile-fix": "npm-lockfile-fix",
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1793005886,
"narHash": "sha256-gZD8QVfZU4d19WbpGU1d3a1N4iJ0w1b916b/V+P0+cc=",
"owner": "NousResearch",
"repo": "hermes-agent",
"rev": "9b904dcc22c23fe8b82834339bbdd96495072e59",
"type": "github"
},
"original": {
"owner": "NousResearch",
"repo": "hermes-agent",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -185,11 +234,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1792098797, "lastModified": 1792896866,
"narHash": "sha256-u4DIIZgznEGzByxXrxWCXK19VcMtTBmi/M9gZ7Jk9bM=", "narHash": "sha256-/0tELNnhdSnP+bHSdWiEe6KpfSwi6WrTnT9cm/jNkjA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "640725978b99076e18e069f6e7d2959124584f8f", "rev": "c216bf5a1f173b0481bd5c8c489ebe5595ecc68c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +338,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1792277718, "lastModified": 1792984624,
"narHash": "sha256-Nv32eZ+x7qr/yKofkemv1O2ImnXkUpFQgq71u6c6Wi8=", "narHash": "sha256-i8nr7pMfov5q0W5m1UCeNYGClbA4hdbmTwa+OkumdlY=",
"owner": "4evy", "owner": "4evy",
"repo": "nixcord", "repo": "nixcord",
"rev": "f4f803048d4bb6bc296fc4bdbd8620ff63fe100f", "rev": "63e33cd00b08ef49b6623a1b6f9f27f69049d1a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -304,11 +353,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1792094642, "lastModified": 1792773339,
"narHash": "sha256-zp8ToDMnqZcu4o4IH9pdwXFXGp7yLm/M0dEnNWnyd7I=", "narHash": "sha256-rZLrzrC6i+jnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fe13242281a67641c0102cdb1087f0ebe586c7df", "rev": "3ec636362e1816bc2f0888fa0fa2c69f1bc9e504",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -359,6 +408,27 @@
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst" "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
} }
}, },
"npm-lockfile-fix": {
"inputs": {
"nixpkgs": [
"hermes-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775903712,
"narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=",
"owner": "jeslie0",
"repo": "npm-lockfile-fix",
"rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8",
"type": "github"
},
"original": {
"owner": "jeslie0",
"repo": "npm-lockfile-fix",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@ -384,18 +454,91 @@
"type": "github" "type": "github"
} }
}, },
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
"hermes-agent",
"nixpkgs"
],
"pyproject-nix": [
"hermes-agent",
"pyproject-nix"
],
"uv2nix": [
"hermes-agent",
"uv2nix"
]
},
"locked": {
"lastModified": 1792499785,
"narHash": "sha256-mGOkvueuMGSRiD75ccxFzfEvSlIU9ztjFluHMKOtogY=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "a17819c85163988e063806ffc4f6d2716bc8ead8",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"hermes-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1791657700,
"narHash": "sha256-vcCAvhtA7hG+/gOge29hYHy7I/dLkIsr5nLx4sFEQic=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "ddc400a6883b042646d0940e65971bb7f7e96107",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"hermes-agent": "hermes-agent",
"home-manager": "home-manager", "home-manager": "home-manager",
"import-tree": "import-tree", "import-tree": "import-tree",
"nix-easyroam": "nix-easyroam", "nix-easyroam": "nix-easyroam",
"nixcord": "nixcord", "nixcord": "nixcord",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"spicetify-nix": "spicetify-nix",
"stylix": "stylix" "stylix": "stylix"
} }
}, },
"spicetify-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1792919014,
"narHash": "sha256-gJ8uPmQFhJ98X+VWPpD+o0tnQ0nJjbG+Z3QDHcSJKw0=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "f6eb8135c060130150c8fbcc6b7cf5e22e5179d8",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "spicetify-nix",
"type": "github"
}
},
"stylix": { "stylix": {
"inputs": { "inputs": {
"base16": "base16", "base16": "base16",
@ -403,24 +546,24 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur",
"systems": "systems", "systems": "systems_2",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux", "tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1791574276, "lastModified": 1792920263,
"narHash": "sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8=", "narHash": "sha256-2pkE97wOXAYIn2/Nhs9y+iR0qVT+g/3UtukXdkywxXc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "2856c4c6a845b9bec98828ef197abe176e4806bb", "rev": "3e27b6c499e507df6e3bb8eca3614f5c95e28140",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -430,6 +573,21 @@
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1791244623,
"narHash": "sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8=",
"owner": "nix-systems",
"repo": "default",
"rev": "d36eeed142f88b5a636f2e3856a53c61654cf29b",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1774449309, "lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=", "narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
@ -529,6 +687,31 @@
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "type": "github"
} }
},
"uv2nix": {
"inputs": {
"nixpkgs": [
"hermes-agent",
"nixpkgs"
],
"pyproject-nix": [
"hermes-agent",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1792666911,
"narHash": "sha256-UWo7wDPi00YXOI1Io7g4vGKuCSPJ863kHJVDzsgqtoM=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "0fdaa03ea3c3c16dbb1fe4d69108f07227a4b42d",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -24,8 +24,19 @@
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { hermes-agent = {
url = "github:NousResearch/hermes-agent";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
};
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ imports = [
inputs.home-manager.flakeModules.home-manager inputs.home-manager.flakeModules.home-manager
(inputs.import-tree ./modules) (inputs.import-tree ./modules)

View file

@ -7,19 +7,22 @@ let
mods = with self.nixosModules; [ mods = with self.nixosModules; [
agenix agenix
base_services base_services
bluetooth
boot boot
core core
chromium
gaming
easyroam easyroam
myStylix nautilus
packages packages
pipewire pipewire
programs programs
stylixTargets stylix
stylix_targets
stylix_fonts stylix_fonts
tlp tlp
user user
zsh zsh
/etc/nixos/hardware-configuration.nix
]; ];
in in
{ {
@ -27,20 +30,19 @@ in
modules = modules =
with self.nixosModules; with self.nixosModules;
[ [
{ nvidia
config.dualBoot = true; nerv
config.networking.hostName = "nerv"; nerv_quirks
}
] ]
++ mods; ++ mods;
}; };
flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem { flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem {
modules = [ modules =
{ with self.nixosModules;
config.networking.hostName = "seele"; [
} seele
seele_quirks
] ]
++ mods; ++ mods;
}; };
} }

View file

@ -0,0 +1,10 @@
{...} : {
flake.homeModules.btop = {
programs.btop = {
enable = true;
settings = {
theme_background = false;
};
};
};
}

View file

@ -0,0 +1,12 @@
{ ... }: {
flake.homeModules.clangd = {
home.file."clangd" = {
text = ''
BreakBeforeBraces: Allman
IndentWidth: 8
'';
target = ".clang-format";
};
};
}

View file

@ -4,12 +4,21 @@
programs.emacs = { programs.emacs = {
enable = true; enable = true;
package = pkgs.emacs-pgtk; package = pkgs.emacs-pgtk;
extraPackages =
epkgs: with epkgs; [
eldoc-box
elisp-autofmt
corfu
cape
nix-mode
envrc
elcord
qml-mode
lua-mode
];
extraConfig = '' extraConfig = ''
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
(setq make-backup-files nil) (setq make-backup-files nil)
(add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-14"))
(require 'package) (require 'package)
(add-to-list 'package-archives (add-to-list 'package-archives
'("melpa-snapshots" '("melpa-snapshots"
@ -17,25 +26,21 @@
"https://snapshots.melpa.org/packages/") "https://snapshots.melpa.org/packages/")
t) t)
;; add packages ;; add packages
(use-package org-view-mode :ensure t) (use-package org-view-mode)
(use-package envrc :ensure t) (use-package envrc)
(use-package nix-mode :ensure t) (use-package nix-mode)
(use-package (use-package
eldoc-box eldoc-box
:ensure t
:hook (eglot-managed-mode . eldoc-box-hover-mode) :hook (eglot-managed-mode . eldoc-box-hover-mode)
) )
(use-package (use-package
elisp-autofmt elisp-autofmt
:ensure t
:commands (elisp-autofmt-buffer elisp-autofmt-mode) :commands (elisp-autofmt-buffer elisp-autofmt-mode)
:hook (emacs-lisp-mode . elisp-autofmt-mode) :hook (emacs-lisp-mode . elisp-autofmt-mode)
:config) :config)
(use-package portage-modes :ensure t)
(use-package (use-package
corfu corfu
:ensure t
:init :init
(setq (setq
corfu-auto t corfu-auto t
@ -46,13 +51,12 @@
(setq tab-always-indent 'complete) (setq tab-always-indent 'complete)
(use-package (use-package
cape cape
:ensure t
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+ :bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
:init (add-hook 'completion-at-point-functions #'cape-file)) :init (add-hook 'completion-at-point-functions #'cape-file))
(setq corfu-auto-prefix 2) (setq corfu-auto-prefix 2)
(use-package qml-mode :ensure t) (use-package qml-mode)
(use-package lua-mode :ensure t) (use-package lua-mode)
(use-package elcord :ensure t :init (elcord-mode)) (use-package elcord :init (elcord-mode))
(add-to-list (add-to-list
'display-buffer-alist 'display-buffer-alist

View file

@ -0,0 +1,8 @@
{ inputs, ... }: {
flake.homeModules.hermes = { pkgs, ... }: {
imports = [ inputs.hermes-agent.homeManagerModules.default ];
programs.hermes-agent = {
enable = true;
};
};
}

View file

@ -1,163 +1,197 @@
{ ... }: { { ... }: {
flake.homeModules.niri = { flake.homeModules.niri = { config, lib, ... }: {
wayland.windowManager.niri = { wayland.windowManager.niri = {
enable = true; enable = true;
extraConfig = '' systemd.enable = true;
prefer-no-csd settings = {
hotkey-overlay { prefer-no-csd = { };
skip-at-startup hotkey-overlay.skip-at-startup = { };
environment = {
XDG_CURRENT_DESKTOP = "niri";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP = "niri";
};
cursor = {
xcursor-size = 24;
xcursor-theme = "macOS";
};
input = {
keyboard.xkb.layout = "eu";
touchpad = {
tap = { };
natural-scroll = { };
};
tablet = {
map-to-output = "PNP(BNQ) BenQ EX2710Q K6R04023019";
};
mouse = {
accel-speed = -0.4;
accel-profile = "flat";
};
focus-follows-mouse._props.max-scroll-amount = "20%";
};
screenshot-path = null;
animations = { };
layout = {
gaps = 16;
center-focused-column = "never";
default-column-width._children = [ { proportion = 0.6; } ];
focus-ring.off = { };
border = {
width = 2;
active-color = config.lib.stylix.colors.base0D;
inactive-color = config.lib.stylix.colors.base03;
};
};
binds = {
"Mod+Return".spawn-sh = "ghostty +new-window";
"Mod+space".spawn = [ "fuzzel" ];
"Mod+e".spawn = [ "nautilus" ];
"XF86AudioRaiseVolume" = {
_props.allow-when-locked = true;
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0";
};
"XF86AudioLowerVolume" = {
_props.allow-when-locked = true;
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-";
};
"XF86AudioMute" = {
_props.allow-when-locked = true;
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
};
"XF86AudioMicMute" = {
_props.allow-when-locked = true;
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
};
"XF86AudioPlay" = {
_props.allow-when-locked = true;
spawn-sh = "playerctl play-pause";
};
"XF86AudioStop" = {
_props.allow-when-locked = true;
spawn-sh = "playerctl stop";
};
"XF86AudioPrev" = {
_props.allow-when-locked = true;
spawn-sh = "playerctl previous";
};
"XF86AudioNext" = {
_props.allow-when-locked = true;
spawn-sh = "playerctl next";
};
"XF86MonBrightnessUp" = {
_props.allow-when-locked = true;
spawn = [
"brightnessctl"
"--class=backlight"
"set"
"+10%"
];
};
"XF86MonBrightnessDown" = {
_props.allow-when-locked = true;
spawn = [
"brightnessctl"
"--class=backlight"
"set"
"10%-"
];
};
"Mod+O" = {
_props.repeat = false;
toggle-overview = { };
};
"Mod+Q" = {
_props.repeat = false;
close-window = { };
};
"Mod+Left".focus-column-left = { };
"Mod+Down".focus-window-down = { };
"Mod+Up".focus-window-up = { };
"Mod+Right".focus-column-right = { };
"Mod+H".focus-column-left = { };
"Mod+J".focus-window-down = { };
"Mod+K".focus-window-up = { };
"Mod+L".focus-column-right = { };
"Mod+Ctrl+Left".move-column-left = { };
"Mod+Ctrl+Down".move-window-down = { };
"Mod+Ctrl+Up".move-window-up = { };
"Mod+Ctrl+Right".move-column-right = { };
"Mod+Ctrl+H".move-column-left = { };
"Mod+Ctrl+J".move-window-down = { };
"Mod+Ctrl+K".move-window-up = { };
"Mod+Ctrl+L".move-column-right = { };
"Mod+comma".focus-monitor-left = { };
"Mod+period".focus-monitor-right = { };
"Mod+Shift+comma".move-column-to-monitor-left = { };
"Mod+Shift+period".move-column-to-monitor-right = { };
"Mod+Shift+WheelScrollDown".focus-column-right = { };
"Mod+Shift+WheelScrollUp".focus-column-left = { };
"Mod+1".focus-workspace = 1;
"Mod+2".focus-workspace = 2;
"Mod+3".focus-workspace = 3;
"Mod+4".focus-workspace = 4;
"Mod+5".focus-workspace = 5;
"Mod+6".focus-workspace = 6;
"Mod+7".focus-workspace = 7;
"Mod+8".focus-workspace = 8;
"Mod+9".focus-workspace = 9;
"Mod+Shift+1".move-column-to-workspace = 1;
"Mod+Shift+2".move-column-to-workspace = 2;
"Mod+Shift+3".move-column-to-workspace = 3;
"Mod+Shift+4".move-column-to-workspace = 4;
"Mod+Shift+5".move-column-to-workspace = 5;
"Mod+Shift+6".move-column-to-workspace = 6;
"Mod+Shift+7".move-column-to-workspace = 7;
"Mod+Shift+8".move-column-to-workspace = 8;
"Mod+Shift+9".move-column-to-workspace = 9;
"Mod+BracketLeft".consume-or-expel-window-left = { };
"Mod+BracketRight".consume-or-expel-window-right = { };
"Mod+F".maximize-column = { };
"Mod+Minus".set-column-width = "-10%";
"Mod+Equal".set-column-width = "+10%";
"Mod+V".toggle-window-floating = { };
"Mod+Shift+S".screenshot = { };
"Alt+Shift+S".screenshot-screen = { };
"Alt+Ctrl+S".screenshot-window = { };
"Mod+Shift+q".quit = { };
};
_children = [
{
output = {
_args = [ "PNP(BNQ) BenQ EX2710Q K6R04023019" ];
mode = "2560x1440@165.002";
scale = 1;
transform = "normal";
position._props = {
x = 1920;
y = 0;
};
};
} }
{
environment { output = {
GTK_THEME "adw-gtk3-dark" _args = [ "Dell Inc. DELL P2317H 9KFDW6C533DB" ];
XDG_CURRENT_DESKTOP "niri" position._props = {
XDG_SESSION_TYPE "wayland" x = 0;
XDG_SESSION_DESKTOP "niri" y = 0;
QT_QPA_PLATFORM "wayland;xcb" };
OZONE_PLATFORM "wayland" };
ELECTRON_OZONE_PLATFORM_HINT "auto"
} }
cursor { {
xcursor-size 24 output = {
xcursor-theme "macOS" _args = [ "eDP-1" ];
scale = 1;
};
} }
input { {
keyboard { window-rule._children = [
xkb { { geometry-corner-radius = 16; }
layout "eu" { clip-to-geometry = true; }
];
} }
} ];
};
touchpad {
tap
natural-scroll
}
mouse {
accel-speed -0.4
accel-profile "flat"
}
focus-follows-mouse max-scroll-amount="20%"
}
output "PNP(BNQ) BenQ EX2710Q K6R04023019" {
mode "2560x1440@165.002"
scale 1
transform "normal"
position x=1920 y=0
}
output "Dell Inc. DELL P2317H 9KFDW6C533DB" {
position x=0 y=0
}
output "eDP-1" {
scale 1
}
layout {
gaps 16
center-focused-column "never"
default-column-width { proportion 0.6; }
focus-ring {
off
}
border {
width 2
active-color "#ffc87f"
inactive-color "#505050"
}
}
spawn-at-startup "qs"
screenshot-path null
animations {}
window-rule {
geometry-corner-radius 16
clip-to-geometry true
}
binds {
Mod+return { spawn-sh "ghostty +new-window"; }
Mod+space { spawn "fuzzel"; }
Mod+e { spawn "nautilus"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
Mod+O repeat=false { toggle-overview; }
Mod+Q repeat=false { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+Left { move-column-left; }
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
mod+ctrl+l { move-column-right; }
Mod+comma { focus-monitor-left; }
Mod+period { focus-monitor-right; }
Mod+Shift+comma { move-column-to-monitor-left; }
Mod+Shift+period { move-column-to-monitor-right; }
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+Shift+6 { move-column-to-workspace 6; }
Mod+Shift+7 { move-column-to-workspace 7; }
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
Mod+F { maximize-column; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Mod+V { toggle-window-floating; }
Mod+Shift+S { screenshot; }
Alt+Shift+S { screenshot-screen; }
Alt+Ctrl+S { screenshot-window; }
Mod+Shift+q { quit; }
}
'';
}; };
}; };
} }

View file

@ -0,0 +1,9 @@
{ ... }: {
flake.homeModules.quickshell = {
programs.quickshell = {
enable = true;
systemd.enable = true;
};
};
}

View file

@ -0,0 +1,8 @@
{ inputs, ... }: {
flake.homeModules.spotify = {
imports = [ inputs.spicetify-nix.homeManagerModules.spicetify ];
programs.spicetify = {
enable = true;
};
};
}

View file

@ -0,0 +1,12 @@
{ ... }: {
flake.homeModules.syncthing = {
services.syncthing = {
enable = true;
settings = {
devices = {
cyberia.id = "5SW5N7Z-BGTZD37-5ELRQVE-PBRK3O5-M4CGYLZ-R3KCVVS-AM5QD2G-WTQYKA7";
};
};
};
};
}

View file

@ -1,11 +1,13 @@
{inputs, ...}: { {inputs, ...}: {
flake.homeModules.homeStylix = { flake.homeModules.stylix = {
stylix.targets = { stylix.targets = {
ghostty.enable = true; ghostty.enable = true;
fuzzel.enable = true; fuzzel.enable = true;
gtk.enable = true; gtk.enable = true;
qt.enable = true;
emacs.enable = true; emacs.enable = true;
nixcord.enable = true; nixcord.enable = true;
spicetify.enable = true;
}; };
}; };
} }

View file

@ -10,6 +10,7 @@
config.boot.loader = { config.boot.loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
limine = { limine = {
style.wallpapers = [ ];
enable = true; enable = true;
extraEntries = lib.mkIf config.dualBoot '' extraEntries = lib.mkIf config.dualBoot ''
/Windows 11 /Windows 11

View file

@ -1,15 +1,7 @@
{ ... }: { { ... }: {
flake.nixosModules.core = { flake.nixosModules.core = { pkgs, ... }: {
hardware.bluetooth = { hardware.enableRedistributableFirmware = true;
enable = true; boot.kernelPackages = pkgs.linuxPackages_latest;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
@ -33,5 +25,6 @@
"nix-command" "nix-command"
"flakes" "flakes"
]; ];
system.stateVersion = "26.05";
}; };
} }

View file

@ -2,46 +2,36 @@
flake.nixosModules.packages = { pkgs, ... }: { flake.nixosModules.packages = { pkgs, ... }: {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
programs.niri.enable = true; programs.niri.enable = true;
services.displayManager.gdm.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
stow
ufetch ufetch
rbw rbw
pinentry-gnome3 pinentry-gnome3
nixd nixd
nixfmt nixfmt
xournalpp xournalpp
rnote
btop
chromium chromium
quickshell
wl-clipboard wl-clipboard
adw-gtk3
polkit_gnome polkit_gnome
xwayland-satellite xwayland-satellite
nemo nautilus
libwacom libwacom
devenv devenv
kdePackages.qt6ct
gcc gcc
clang-tools
clang
gdb gdb
clang-tools
gnumake gnumake
libreoffice
ripgrep ripgrep
jq jq
nmgui
kdePackages.qtdeclarative kdePackages.qtdeclarative
gsettings-desktop-schemas brightnessctl
glib libreoffice-stable
ani-cli
ryubing
]; ];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
jetbrains-mono
nerd-fonts.jetbrains-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
inter inter
noto-fonts
]; ];
}; };
} }

View file

@ -15,20 +15,34 @@
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.lucy = { home-manager.users.lucy = { config, lib, ... }: {
home.username = "lucy"; home.username = "lucy";
home.homeDirectory = "/home/lucy"; home.homeDirectory = "/home/lucy";
home.stateVersion = "25.11"; home.stateVersion = "25.11";
home.activation.reloadQuickshell = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
qs=${lib.getExe' config.programs.quickshell.package "qs"}
runtime_dir="''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"
if run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc show; then
run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc call config reload ||
warnEcho "Quickshell is running, but 'qs ipc call config reload' failed"
fi
'';
}; };
home-manager.sharedModules = with self.homeModules; [ home-manager.sharedModules = with self.homeModules; [
btop
clangd
nixcord nixcord
ghostty ghostty
hermes
niri niri
emacs emacs
git git
homeStylix stylix
fuzzel fuzzel
quickshell
spotify
syncthing
]; ];
}; };
} }

View file

@ -0,0 +1,15 @@
{ ... }:
{
flake.nixosModules.bluetooth = {
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
};
}

View file

@ -0,0 +1,18 @@
{ ... }: {
flake.nixosModules.nvidia = { config, ... }: {
# Enable OpenGL
hardware.graphics = {
enable = true;
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
}

View file

@ -0,0 +1,43 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ lib, config, ... }:
{
flake.nixosModules.nerv = { config, ... }: {
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/48badf37-8adb-48d0-b861-fbf71cbaddd7";
fsType = "xfs";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/DC66-ACA6";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/3b0e79c9-e3d8-4b58-99b4-63c98309ac85"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
}

View file

@ -0,0 +1,8 @@
{ ... }: {
flake.nixosModules.nerv_quirks = { config, ... }: {
config = {
networking.hostName = "nerv";
dualBoot = true;
};
};
}

View file

@ -0,0 +1,49 @@
{
lib,
config,
modulesPath,
...
}:
{
flake.nixosModules.seele =
{
config,
lib,
...
}:
{
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"usb_storage"
"sd_mod"
"sdhci_pci"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/629196f0-60e9-476e-b294-0d22fd7279c4";
fsType = "xfs";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/2474-C1E6";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/166d1fb4-527f-4fda-a6bf-85aad4a4f917"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
}

View file

@ -0,0 +1,5 @@
{ ... }: {
flake.nixosModules.seele_quirks = {
networking.hostName = "seele";
};
}

View file

@ -0,0 +1,11 @@
{ ... }: {
flake.nixosModules.chromium = {
programs.chromium = {
enable = true;
extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite
];
};
};
}

View file

@ -1,7 +1,6 @@
{ ... }: { { ... }: {
flake.nixosModules.programs = { flake.nixosModules.programs = {
programs.niri.enable = true; programs.niri.enable = true;
programs.steam.enable = true;
programs.direnv.enable = true; programs.direnv.enable = true;
}; };
} }

View file

@ -0,0 +1,26 @@
{
flake.nixosModules.gaming =
{ pkgs, ... }:
{
programs.steam = {
enable = true;
extraCompatPackages = with pkgs; [ proton-ge-bin ];
protontricks.enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
programs.gamescope = {
enable = true;
capSysNice = true;
enableWsi = true;
};
programs.gamemode.enable = true;
environment.systemPackages = with pkgs; [
heroic # Epic-Fassung von Rocket League (braucht GE-Proton)
umu-launcher # Proton-Runtime für Heroic / Nicht-Steam-Games
];
};
}

View file

@ -0,0 +1,6 @@
{ ... }: {
flake.nixosModules.nautilus = {
services.gvfs.enable = true;
services.udisks2.enable = true;
};
}

View file

@ -1,11 +1,11 @@
{ inputs, ... }: { { inputs, ... }: {
flake.nixosModules.myStylix = { pkgs, ... }: { flake.nixosModules.stylix = { pkgs, ... }: {
imports = [ imports = [
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
]; ];
stylix = { stylix = {
enable = true; enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
cursor = { cursor = {
name = "macOS"; name = "macOS";
package = pkgs.apple-cursor; package = pkgs.apple-cursor;

View file

@ -1,6 +1,7 @@
{ ... }: { { ... }: {
flake.nixosModules.stylix_fonts = { pkgs, config, ... }: { flake.nixosModules.stylix_fonts = { pkgs, config, ... }: {
stylix.fonts = { stylix.fonts = {
sizes.terminal = 14;
serif = { serif = {
package = config.stylix.fonts.monospace.package; package = config.stylix.fonts.monospace.package;
name = config.stylix.fonts.monospace.name; name = config.stylix.fonts.monospace.name;
@ -12,8 +13,8 @@
}; };
monospace = { monospace = {
package = pkgs.iosevka; package = pkgs.maple-mono.Normal-TTF;
name = "Iosevka"; name = "Maple Mono Normal";
}; };
emoji = { emoji = {

View file

@ -1,8 +1,9 @@
{ inputs, ... }: { { inputs, ... }: {
flake.nixosModules.stylixTargets = { flake.nixosModules.stylix_targets = {
stylix.autoEnable = false; stylix.autoEnable = false;
stylix.targets = { stylix.targets = {
gtk.enable = true; gtk.enable = true;
qt.enable = true;
chromium.enable = true; chromium.enable = true;
console.enable = true; console.enable = true;
font-packages.enable = true; font-packages.enable = true;