diff --git a/flake.lock b/flake.lock index cfc596a..ac15c17 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1792507013, - "narHash": "sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V+l4ibzC7U=", + "lastModified": 1790734419, + "narHash": "sha256-n7wew722m1OTBT9DOIMxNX/NF4zfsSUABAO5eW3wikE=", "owner": "ryantm", "repo": "agenix", - "rev": "5e5b88a0c8e56f291a108c2fe9934054d9745b2e", + "rev": "3daa710894355fa2fad8243380af373a2b4046ef", "type": "github" }, "original": { @@ -123,27 +123,6 @@ } }, "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": { "nixpkgs-lib": [ "stylix", @@ -199,34 +178,6 @@ "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": { "inputs": { "nixpkgs": [ @@ -234,11 +185,11 @@ ] }, "locked": { - "lastModified": 1792896866, - "narHash": "sha256-/0tELNnhdSnP+bHSdWiEe6KpfSwi6WrTnT9cm/jNkjA=", + "lastModified": 1792098797, + "narHash": "sha256-u4DIIZgznEGzByxXrxWCXK19VcMtTBmi/M9gZ7Jk9bM=", "owner": "nix-community", "repo": "home-manager", - "rev": "c216bf5a1f173b0481bd5c8c489ebe5595ecc68c", + "rev": "640725978b99076e18e069f6e7d2959124584f8f", "type": "github" }, "original": { @@ -338,11 +289,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1792984624, - "narHash": "sha256-i8nr7pMfov5q0W5m1UCeNYGClbA4hdbmTwa+OkumdlY=", + "lastModified": 1792277718, + "narHash": "sha256-Nv32eZ+x7qr/yKofkemv1O2ImnXkUpFQgq71u6c6Wi8=", "owner": "4evy", "repo": "nixcord", - "rev": "63e33cd00b08ef49b6623a1b6f9f27f69049d1a9", + "rev": "f4f803048d4bb6bc296fc4bdbd8620ff63fe100f", "type": "github" }, "original": { @@ -353,11 +304,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1792773339, - "narHash": "sha256-rZLrzrC6i+jnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw=", + "lastModified": 1792094642, + "narHash": "sha256-zp8ToDMnqZcu4o4IH9pdwXFXGp7yLm/M0dEnNWnyd7I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3ec636362e1816bc2f0888fa0fa2c69f1bc9e504", + "rev": "fe13242281a67641c0102cdb1087f0ebe586c7df", "type": "github" }, "original": { @@ -408,27 +359,6 @@ "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": { "inputs": { "flake-parts": [ @@ -454,91 +384,18 @@ "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": { "inputs": { "agenix": "agenix", "flake-parts": "flake-parts", - "hermes-agent": "hermes-agent", "home-manager": "home-manager", "import-tree": "import-tree", "nix-easyroam": "nix-easyroam", "nixcord": "nixcord", "nixpkgs": "nixpkgs", - "spicetify-nix": "spicetify-nix", "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": { "inputs": { "base16": "base16", @@ -546,24 +403,24 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1792920263, - "narHash": "sha256-2pkE97wOXAYIn2/Nhs9y+iR0qVT+g/3UtukXdkywxXc=", + "lastModified": 1791574276, + "narHash": "sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8=", "owner": "nix-community", "repo": "stylix", - "rev": "3e27b6c499e507df6e3bb8eca3614f5c95e28140", + "rev": "2856c4c6a845b9bec98828ef197abe176e4806bb", "type": "github" }, "original": { @@ -573,21 +430,6 @@ } }, "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": { "lastModified": 1774449309, "narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=", @@ -687,31 +529,6 @@ "repo": "treefmt-nix", "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", diff --git a/flake.nix b/flake.nix index b743e19..e1e33f8 100644 --- a/flake.nix +++ b/flake.nix @@ -24,22 +24,11 @@ url = "github:nix-community/stylix"; 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 = - inputs: - inputs.flake-parts.lib.mkFlake { inherit inputs; } { - imports = [ - inputs.home-manager.flakeModules.home-manager - (inputs.import-tree ./modules) - ]; - }; + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + inputs.home-manager.flakeModules.home-manager + (inputs.import-tree ./modules) + ]; + }; } diff --git a/modules/default.nix b/modules/default.nix index e5addbc..1a07e2a 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -7,22 +7,19 @@ let mods = with self.nixosModules; [ agenix base_services - bluetooth boot core - chromium - gaming easyroam - nautilus + myStylix packages pipewire programs - stylix - stylix_targets + stylixTargets stylix_fonts tlp user zsh + /etc/nixos/hardware-configuration.nix ]; in { @@ -30,19 +27,20 @@ in modules = with self.nixosModules; [ - nvidia - nerv - nerv_quirks + { + config.dualBoot = true; + config.networking.hostName = "nerv"; + } ] ++ mods; }; flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem { - modules = - with self.nixosModules; - [ - seele - seele_quirks - ] - ++ mods; + modules = [ + { + config.networking.hostName = "seele"; + } + ] + ++ mods; + }; } diff --git a/modules/home/programs/btop.nix b/modules/home/programs/btop.nix deleted file mode 100644 index daa6ec8..0000000 --- a/modules/home/programs/btop.nix +++ /dev/null @@ -1,10 +0,0 @@ -{...} : { - flake.homeModules.btop = { - programs.btop = { - enable = true; - settings = { - theme_background = false; - }; - }; - }; -} diff --git a/modules/home/programs/clangd.nix b/modules/home/programs/clangd.nix deleted file mode 100644 index e24d2f0..0000000 --- a/modules/home/programs/clangd.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ ... }: { - flake.homeModules.clangd = { - home.file."clangd" = { - text = '' - BreakBeforeBraces: Allman - IndentWidth: 8 - ''; - target = ".clang-format"; - - }; - }; -} diff --git a/modules/home/programs/emacs.nix b/modules/home/programs/emacs.nix index fde2af5..f8d6d78 100644 --- a/modules/home/programs/emacs.nix +++ b/modules/home/programs/emacs.nix @@ -4,21 +4,12 @@ programs.emacs = { enable = true; package = pkgs.emacs-pgtk; - extraPackages = - epkgs: with epkgs; [ - eldoc-box - elisp-autofmt - corfu - cape - nix-mode - envrc - elcord - qml-mode - lua-mode - ]; extraConfig = '' ;; -*- lexical-binding: t; -*- (setq make-backup-files nil) + + (add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-14")) + (require 'package) (add-to-list 'package-archives '("melpa-snapshots" @@ -26,21 +17,25 @@ "https://snapshots.melpa.org/packages/") t) ;; add packages - (use-package org-view-mode) - (use-package envrc) + (use-package org-view-mode :ensure t) + (use-package envrc :ensure t) - (use-package nix-mode) + (use-package nix-mode :ensure t) (use-package eldoc-box + :ensure t :hook (eglot-managed-mode . eldoc-box-hover-mode) ) (use-package elisp-autofmt + :ensure t :commands (elisp-autofmt-buffer elisp-autofmt-mode) :hook (emacs-lisp-mode . elisp-autofmt-mode) :config) + (use-package portage-modes :ensure t) (use-package corfu + :ensure t :init (setq corfu-auto t @@ -51,12 +46,13 @@ (setq tab-always-indent 'complete) (use-package cape + :ensure t :bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-, M-p, M-+ :init (add-hook 'completion-at-point-functions #'cape-file)) (setq corfu-auto-prefix 2) - (use-package qml-mode) - (use-package lua-mode) - (use-package elcord :init (elcord-mode)) + (use-package qml-mode :ensure t) + (use-package lua-mode :ensure t) + (use-package elcord :ensure t :init (elcord-mode)) (add-to-list 'display-buffer-alist diff --git a/modules/home/programs/hermes.nix b/modules/home/programs/hermes.nix deleted file mode 100644 index c84577d..0000000 --- a/modules/home/programs/hermes.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ inputs, ... }: { - flake.homeModules.hermes = { pkgs, ... }: { - imports = [ inputs.hermes-agent.homeManagerModules.default ]; - programs.hermes-agent = { - enable = true; - }; - }; -} diff --git a/modules/home/programs/niri.nix b/modules/home/programs/niri.nix index 30dc3ab..1feea0c 100644 --- a/modules/home/programs/niri.nix +++ b/modules/home/programs/niri.nix @@ -1,197 +1,163 @@ { ... }: { - flake.homeModules.niri = { config, lib, ... }: { + flake.homeModules.niri = { wayland.windowManager.niri = { enable = true; - systemd.enable = true; - settings = { - prefer-no-csd = { }; - 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; - }; - }; - } - { - 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; } - ]; - } - ]; - }; + extraConfig = '' + prefer-no-csd + hotkey-overlay { + skip-at-startup + } + + environment { + GTK_THEME "adw-gtk3-dark" + XDG_CURRENT_DESKTOP "niri" + XDG_SESSION_TYPE "wayland" + XDG_SESSION_DESKTOP "niri" + QT_QPA_PLATFORM "wayland;xcb" + OZONE_PLATFORM "wayland" + ELECTRON_OZONE_PLATFORM_HINT "auto" + } + cursor { + xcursor-size 24 + xcursor-theme "macOS" + } + input { + keyboard { + xkb { + layout "eu" + } + } + + 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; } + } + ''; }; }; } diff --git a/modules/home/programs/quickshell.nix b/modules/home/programs/quickshell.nix deleted file mode 100644 index ea7404e..0000000 --- a/modules/home/programs/quickshell.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ ... }: { - - flake.homeModules.quickshell = { - programs.quickshell = { - enable = true; - systemd.enable = true; - }; - }; -} diff --git a/modules/home/programs/spotify.nix b/modules/home/programs/spotify.nix deleted file mode 100644 index cb5ee08..0000000 --- a/modules/home/programs/spotify.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ inputs, ... }: { - flake.homeModules.spotify = { - imports = [ inputs.spicetify-nix.homeManagerModules.spicetify ]; - programs.spicetify = { - enable = true; - }; - }; -} diff --git a/modules/home/services/syncthing.nix b/modules/home/services/syncthing.nix deleted file mode 100644 index 1814348..0000000 --- a/modules/home/services/syncthing.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ ... }: { - flake.homeModules.syncthing = { - services.syncthing = { - enable = true; - settings = { - devices = { - cyberia.id = "5SW5N7Z-BGTZD37-5ELRQVE-PBRK3O5-M4CGYLZ-R3KCVVS-AM5QD2G-WTQYKA7"; - }; - }; - }; - }; -} diff --git a/modules/home/stylix/targets.nix b/modules/home/stylix/targets.nix index ff5fc39..3708b27 100644 --- a/modules/home/stylix/targets.nix +++ b/modules/home/stylix/targets.nix @@ -1,13 +1,11 @@ {inputs, ...}: { - flake.homeModules.stylix = { + flake.homeModules.homeStylix = { stylix.targets = { ghostty.enable = true; fuzzel.enable = true; gtk.enable = true; - qt.enable = true; emacs.enable = true; nixcord.enable = true; - spicetify.enable = true; }; }; } diff --git a/modules/system/core/boot.nix b/modules/system/core/boot.nix index cd2b8cf..35e0e3d 100644 --- a/modules/system/core/boot.nix +++ b/modules/system/core/boot.nix @@ -10,7 +10,6 @@ config.boot.loader = { efi.canTouchEfiVariables = true; limine = { - style.wallpapers = [ ]; enable = true; extraEntries = lib.mkIf config.dualBoot '' /Windows 11 diff --git a/modules/system/core/core.nix b/modules/system/core/core.nix index cd88822..430c611 100644 --- a/modules/system/core/core.nix +++ b/modules/system/core/core.nix @@ -1,7 +1,15 @@ { ... }: { - flake.nixosModules.core = { pkgs, ... }: { - hardware.enableRedistributableFirmware = true; - boot.kernelPackages = pkgs.linuxPackages_latest; + flake.nixosModules.core = { + hardware.bluetooth = { + enable = true; + powerOnBoot = false; + input.General.ClassicBondedOnly = false; + settings = { + General = { + Experimental = true; + }; + }; + }; time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { @@ -25,6 +33,5 @@ "nix-command" "flakes" ]; - system.stateVersion = "26.05"; }; } diff --git a/modules/system/core/packages.nix b/modules/system/core/packages.nix index e316ac4..d40f18c 100644 --- a/modules/system/core/packages.nix +++ b/modules/system/core/packages.nix @@ -2,36 +2,46 @@ flake.nixosModules.packages = { pkgs, ... }: { nixpkgs.config.allowUnfree = true; programs.niri.enable = true; - services.displayManager.gdm.enable = true; environment.systemPackages = with pkgs; [ + stow ufetch rbw pinentry-gnome3 nixd nixfmt xournalpp + rnote + btop chromium + quickshell wl-clipboard + adw-gtk3 polkit_gnome xwayland-satellite - nautilus + nemo libwacom devenv + kdePackages.qt6ct gcc - gdb clang-tools + clang + gdb gnumake + libreoffice ripgrep jq + nmgui kdePackages.qtdeclarative - brightnessctl - libreoffice-stable - ani-cli - ryubing + gsettings-desktop-schemas + glib ]; fonts.packages = with pkgs; [ - inter + jetbrains-mono + nerd-fonts.jetbrains-mono noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + inter ]; }; } diff --git a/modules/system/core/user.nix b/modules/system/core/user.nix index 0830502..2de9142 100644 --- a/modules/system/core/user.nix +++ b/modules/system/core/user.nix @@ -15,34 +15,20 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.lucy = { config, lib, ... }: { + home-manager.users.lucy = { home.username = "lucy"; home.homeDirectory = "/home/lucy"; 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; [ - btop - clangd nixcord ghostty - hermes niri emacs git - stylix + homeStylix fuzzel - quickshell - spotify - syncthing ]; }; - } diff --git a/modules/system/hardware/bluetooth.nix b/modules/system/hardware/bluetooth.nix deleted file mode 100644 index c40074a..0000000 --- a/modules/system/hardware/bluetooth.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ ... }: -{ - flake.nixosModules.bluetooth = { - hardware.bluetooth = { - enable = true; - powerOnBoot = false; - input.General.ClassicBondedOnly = false; - settings = { - General = { - Experimental = true; - }; - }; - }; - }; -} diff --git a/modules/system/hardware/nvidia.nix b/modules/system/hardware/nvidia.nix deleted file mode 100644 index 9c23782..0000000 --- a/modules/system/hardware/nvidia.nix +++ /dev/null @@ -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; - }; - }; -} diff --git a/modules/system/hosts/nerv/hardware-configuration.nix b/modules/system/hosts/nerv/hardware-configuration.nix deleted file mode 100644 index f411dac..0000000 --- a/modules/system/hosts/nerv/hardware-configuration.nix +++ /dev/null @@ -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; - }; - -} diff --git a/modules/system/hosts/nerv/quirks.nix b/modules/system/hosts/nerv/quirks.nix deleted file mode 100644 index a53af4e..0000000 --- a/modules/system/hosts/nerv/quirks.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: { - flake.nixosModules.nerv_quirks = { config, ... }: { - config = { - networking.hostName = "nerv"; - dualBoot = true; - }; - }; -} diff --git a/modules/system/hosts/seele/hardware-configuration.nix b/modules/system/hosts/seele/hardware-configuration.nix deleted file mode 100644 index 60e76f9..0000000 --- a/modules/system/hosts/seele/hardware-configuration.nix +++ /dev/null @@ -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; - }; -} diff --git a/modules/system/hosts/seele/quirks.nix b/modules/system/hosts/seele/quirks.nix deleted file mode 100644 index 34a64ac..0000000 --- a/modules/system/hosts/seele/quirks.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... }: { - flake.nixosModules.seele_quirks = { - networking.hostName = "seele"; - }; -} diff --git a/modules/system/programs/chromium.nix b/modules/system/programs/chromium.nix deleted file mode 100644 index e47fe90..0000000 --- a/modules/system/programs/chromium.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ ... }: { - flake.nixosModules.chromium = { - programs.chromium = { - enable = true; - extensions = [ - "nngceckbapebfimnlniiiahkandclblb" # bitwarden - "ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite - ]; - }; - }; -} diff --git a/modules/system/programs/default.nix b/modules/system/programs/default.nix index 4950094..e4458ef 100644 --- a/modules/system/programs/default.nix +++ b/modules/system/programs/default.nix @@ -1,6 +1,7 @@ { ... }: { flake.nixosModules.programs = { programs.niri.enable = true; + programs.steam.enable = true; programs.direnv.enable = true; }; } diff --git a/modules/system/programs/gaming.nix b/modules/system/programs/gaming.nix deleted file mode 100644 index aeeff62..0000000 --- a/modules/system/programs/gaming.nix +++ /dev/null @@ -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 - ]; - }; -} diff --git a/modules/system/programs/nautilus.nix b/modules/system/programs/nautilus.nix deleted file mode 100644 index 94e33ca..0000000 --- a/modules/system/programs/nautilus.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: { - flake.nixosModules.nautilus = { - services.gvfs.enable = true; - services.udisks2.enable = true; - }; -} diff --git a/modules/system/stylix/default.nix b/modules/system/stylix/default.nix index 04fea95..b4ccdb0 100644 --- a/modules/system/stylix/default.nix +++ b/modules/system/stylix/default.nix @@ -1,11 +1,11 @@ { inputs, ... }: { - flake.nixosModules.stylix = { pkgs, ... }: { + flake.nixosModules.myStylix = { pkgs, ... }: { imports = [ inputs.stylix.nixosModules.stylix ]; stylix = { enable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; cursor = { name = "macOS"; package = pkgs.apple-cursor; diff --git a/modules/system/stylix/fonts.nix b/modules/system/stylix/fonts.nix index 4d5338d..c8025a6 100644 --- a/modules/system/stylix/fonts.nix +++ b/modules/system/stylix/fonts.nix @@ -1,7 +1,6 @@ { ... }: { flake.nixosModules.stylix_fonts = { pkgs, config, ... }: { stylix.fonts = { - sizes.terminal = 14; serif = { package = config.stylix.fonts.monospace.package; name = config.stylix.fonts.monospace.name; @@ -13,8 +12,8 @@ }; monospace = { - package = pkgs.maple-mono.Normal-TTF; - name = "Maple Mono Normal"; + package = pkgs.iosevka; + name = "Iosevka"; }; emoji = { diff --git a/modules/system/stylix/targets.nix b/modules/system/stylix/targets.nix index c75de55..81b064f 100644 --- a/modules/system/stylix/targets.nix +++ b/modules/system/stylix/targets.nix @@ -1,9 +1,8 @@ { inputs, ... }: { - flake.nixosModules.stylix_targets = { + flake.nixosModules.stylixTargets = { stylix.autoEnable = false; stylix.targets = { gtk.enable = true; - qt.enable = true; chromium.enable = true; console.enable = true; font-packages.enable = true;