Compare commits

..
29 changed files with 247 additions and 722 deletions

217
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1792507013, "lastModified": 1790734419,
"narHash": "sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V+l4ibzC7U=", "narHash": "sha256-n7wew722m1OTBT9DOIMxNX/NF4zfsSUABAO5eW3wikE=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "5e5b88a0c8e56f291a108c2fe9934054d9745b2e", "rev": "3daa710894355fa2fad8243380af373a2b4046ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -123,27 +123,6 @@
} }
}, },
"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",
@ -199,34 +178,6 @@
"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": [
@ -234,11 +185,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1792896866, "lastModified": 1792098797,
"narHash": "sha256-/0tELNnhdSnP+bHSdWiEe6KpfSwi6WrTnT9cm/jNkjA=", "narHash": "sha256-u4DIIZgznEGzByxXrxWCXK19VcMtTBmi/M9gZ7Jk9bM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c216bf5a1f173b0481bd5c8c489ebe5595ecc68c", "rev": "640725978b99076e18e069f6e7d2959124584f8f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -338,11 +289,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1792984624, "lastModified": 1792277718,
"narHash": "sha256-i8nr7pMfov5q0W5m1UCeNYGClbA4hdbmTwa+OkumdlY=", "narHash": "sha256-Nv32eZ+x7qr/yKofkemv1O2ImnXkUpFQgq71u6c6Wi8=",
"owner": "4evy", "owner": "4evy",
"repo": "nixcord", "repo": "nixcord",
"rev": "63e33cd00b08ef49b6623a1b6f9f27f69049d1a9", "rev": "f4f803048d4bb6bc296fc4bdbd8620ff63fe100f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -353,11 +304,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1792773339, "lastModified": 1792094642,
"narHash": "sha256-rZLrzrC6i+jnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw=", "narHash": "sha256-zp8ToDMnqZcu4o4IH9pdwXFXGp7yLm/M0dEnNWnyd7I=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3ec636362e1816bc2f0888fa0fa2c69f1bc9e504", "rev": "fe13242281a67641c0102cdb1087f0ebe586c7df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -408,27 +359,6 @@
"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": [
@ -454,91 +384,18 @@
"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",
@ -546,24 +403,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_3", "flake-parts": "flake-parts_2",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur",
"systems": "systems_2", "systems": "systems",
"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": 1792920263, "lastModified": 1791574276,
"narHash": "sha256-2pkE97wOXAYIn2/Nhs9y+iR0qVT+g/3UtukXdkywxXc=", "narHash": "sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "3e27b6c499e507df6e3bb8eca3614f5c95e28140", "rev": "2856c4c6a845b9bec98828ef197abe176e4806bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -573,21 +430,6 @@
} }
}, },
"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=",
@ -687,31 +529,6 @@
"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,22 +24,11 @@
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";
};
hermes-agent = {
url = "github:NousResearch/hermes-agent";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
}; };
outputs = outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {
inputs: imports = [
inputs.flake-parts.lib.mkFlake { inherit inputs; } { inputs.home-manager.flakeModules.home-manager
imports = [ (inputs.import-tree ./modules)
inputs.home-manager.flakeModules.home-manager ];
(inputs.import-tree ./modules) };
];
};
} }

View file

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

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

View file

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

View file

@ -4,21 +4,12 @@
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"
@ -26,21 +17,25 @@
"https://snapshots.melpa.org/packages/") "https://snapshots.melpa.org/packages/")
t) t)
;; add packages ;; add packages
(use-package org-view-mode) (use-package org-view-mode :ensure t)
(use-package envrc) (use-package envrc :ensure t)
(use-package nix-mode) (use-package nix-mode :ensure t)
(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
@ -51,12 +46,13 @@
(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) (use-package qml-mode :ensure t)
(use-package lua-mode) (use-package lua-mode :ensure t)
(use-package elcord :init (elcord-mode)) (use-package elcord :ensure t :init (elcord-mode))
(add-to-list (add-to-list
'display-buffer-alist 'display-buffer-alist

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,13 +1,11 @@
{inputs, ...}: { {inputs, ...}: {
flake.homeModules.stylix = { flake.homeModules.homeStylix = {
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,7 +10,6 @@
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,7 +1,15 @@
{ ... }: { { ... }: {
flake.nixosModules.core = { pkgs, ... }: { flake.nixosModules.core = {
hardware.enableRedistributableFirmware = true; hardware.bluetooth = {
boot.kernelPackages = pkgs.linuxPackages_latest; enable = true;
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 = {
@ -25,6 +33,5 @@
"nix-command" "nix-command"
"flakes" "flakes"
]; ];
system.stateVersion = "26.05";
}; };
} }

View file

@ -2,36 +2,46 @@
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
nautilus nemo
libwacom libwacom
devenv devenv
kdePackages.qt6ct
gcc gcc
gdb
clang-tools clang-tools
clang
gdb
gnumake gnumake
libreoffice
ripgrep ripgrep
jq jq
nmgui
kdePackages.qtdeclarative kdePackages.qtdeclarative
brightnessctl gsettings-desktop-schemas
libreoffice-stable glib
ani-cli
ryubing
]; ];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
inter jetbrains-mono
nerd-fonts.jetbrains-mono
noto-fonts noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
inter
]; ];
}; };
} }

View file

@ -15,34 +15,20 @@
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 = { config, lib, ... }: { home-manager.users.lucy = {
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
stylix homeStylix
fuzzel fuzzel
quickshell
spotify
syncthing
]; ];
}; };
} }

View file

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

View file

@ -1,18 +0,0 @@
{ ... }: {
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

@ -1,43 +0,0 @@
# 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

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

View file

@ -1,49 +0,0 @@
{
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

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

View file

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

View file

@ -1,6 +1,7 @@
{ ... }: { { ... }: {
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

@ -1,26 +0,0 @@
{
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

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

View file

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

View file

@ -1,7 +1,6 @@
{ ... }: { { ... }: {
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;
@ -13,8 +12,8 @@
}; };
monospace = { monospace = {
package = pkgs.maple-mono.Normal-TTF; package = pkgs.iosevka;
name = "Maple Mono Normal"; name = "Iosevka";
}; };
emoji = { emoji = {

View file

@ -1,9 +1,8 @@
{ inputs, ... }: { { inputs, ... }: {
flake.nixosModules.stylix_targets = { flake.nixosModules.stylixTargets = {
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;