My Nix Configuration
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

[flake] add hyprland

dish ffc936a3 ceac5311

+511 -145
+23
.zed/settings.json
··· 1 + // Folder-specific settings 2 + // 3 + // For a full list of overridable settings, and general information on folder-specific settings, 4 + // see the documentation: https://zed.dev/docs/configuring-zed#settings-files 5 + { 6 + "lsp": { 7 + "nixd": { 8 + "settings": { 9 + "options": { 10 + "nixos": { 11 + "expr": "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.zaphod.options" 12 + }, 13 + "home-manager": { 14 + "expr": "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.zaphod.options.home-manager.users.type.getSubOptions []" 15 + }, 16 + "flake-parts": { 17 + "expr": "(builtins.getFlake (builtins.toString ./.)).debug.options" 18 + } 19 + } 20 + } 21 + } 22 + } 23 + }
+70 -1
flake.lock
··· 322 322 "type": "github" 323 323 } 324 324 }, 325 + "flake-utils_3": { 326 + "inputs": { 327 + "systems": "systems_3" 328 + }, 329 + "locked": { 330 + "lastModified": 1731533236, 331 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 332 + "owner": "numtide", 333 + "repo": "flake-utils", 334 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 335 + "type": "github" 336 + }, 337 + "original": { 338 + "owner": "numtide", 339 + "repo": "flake-utils", 340 + "type": "github" 341 + } 342 + }, 325 343 "git-hooks": { 326 344 "inputs": { 327 345 "flake-compat": [ ··· 782 800 "type": "github" 783 801 } 784 802 }, 803 + "nixpkgs_4": { 804 + "locked": { 805 + "lastModified": 1759036355, 806 + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", 807 + "owner": "nixos", 808 + "repo": "nixpkgs", 809 + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", 810 + "type": "github" 811 + }, 812 + "original": { 813 + "owner": "nixos", 814 + "ref": "nixos-unstable", 815 + "repo": "nixpkgs", 816 + "type": "github" 817 + } 818 + }, 785 819 "root": { 786 820 "inputs": { 787 821 "agenix": "agenix", ··· 808 842 "nixpkgs-stalwart-fix": "nixpkgs-stalwart-fix", 809 843 "stable": "stable", 810 844 "systems": "systems", 811 - "tangled": "tangled" 845 + "tangled": "tangled", 846 + "vicinae": "vicinae" 812 847 } 813 848 }, 814 849 "sqlite-lib-src": { ··· 870 905 "type": "github" 871 906 } 872 907 }, 908 + "systems_3": { 909 + "locked": { 910 + "lastModified": 1681028828, 911 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 912 + "owner": "nix-systems", 913 + "repo": "default", 914 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 915 + "type": "github" 916 + }, 917 + "original": { 918 + "owner": "nix-systems", 919 + "repo": "default", 920 + "type": "github" 921 + } 922 + }, 873 923 "tangled": { 874 924 "inputs": { 875 925 "flake-compat": "flake-compat_2", ··· 895 945 "original": { 896 946 "type": "git", 897 947 "url": "https://tangled.org/@tangled.org/core" 948 + } 949 + }, 950 + "vicinae": { 951 + "inputs": { 952 + "flake-utils": "flake-utils_3", 953 + "nixpkgs": "nixpkgs_4" 954 + }, 955 + "locked": { 956 + "lastModified": 1759946048, 957 + "narHash": "sha256-cyL+LxzEQNPJ7s9y4g1HfUlgoIS0YzcAlyXP6nrKBnU=", 958 + "owner": "vicinaehq", 959 + "repo": "vicinae", 960 + "rev": "96e7405c95f7967ed55689a1d563a10f5e1f24e7", 961 + "type": "github" 962 + }, 963 + "original": { 964 + "owner": "vicinaehq", 965 + "repo": "vicinae", 966 + "type": "github" 898 967 } 899 968 } 900 969 },
+7
flake.nix
··· 6 6 "https://cache.nixos.org" 7 7 "https://nix-community.cachix.org" 8 8 "https://install.determinate.systems" 9 + "https://vicinae.cachix.org" 9 10 ]; 10 11 trusted-public-keys = [ 11 12 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 12 13 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" 13 14 "cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=" 15 + "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" 14 16 ]; 15 17 cores = 0; 16 18 max-jobs = 2; ··· 119 121 url = "git+https://git.pyrox.dev/pyrox/pkgs"; 120 122 inputs.nixpkgs.follows = "nixpkgs"; 121 123 }; 124 + vicinae = { 125 + url = "github:vicinaehq/vicinae"; 126 + }; 122 127 tangled = { 123 128 url = "git+https://tangled.org/@tangled.org/core"; 124 129 }; ··· 172 177 }; 173 178 formatter = pkgs.nixfmt; 174 179 }; 180 + # Enable debugging for nixd 181 + debug = true; 175 182 }; 176 183 }
+1
homeModules/all-modules.nix
··· 11 11 12 12 inputs.nix-index-database.homeModules.nix-index 13 13 inputs.ctp.homeModules.catppuccin 14 + inputs.vicinae.homeManagerModules.default 14 15 ]; 15 16 }
+4 -7
homeModules/profiles/gui/default.nix
··· 12 12 { 13 13 options.py.profiles.gui.enable = mkEnableOption "GUI Profile"; 14 14 config = lib.mkIf cfg.enable { 15 - home.sessionVariables = { 16 - XDG_CURRENT_DESKTOP = "sway"; 17 - }; 18 15 py = { 19 16 programs = { 20 17 chromium.enable = mkDefault true; ··· 29 26 }; 30 27 services = { 31 28 gpg-agent.enable = mkDefault true; 32 - kanshi.enable = mkDefault true; 29 + kanshi.enable = mkDefault false; 33 30 kdeconnect.enable = mkDefault true; 34 - mako.enable = mkDefault true; 31 + mako.enable = mkDefault false; 32 + vicinae.enable = mkDefault true; 35 33 swayidle.enable = mkDefault true; 36 34 syncthing.enable = mkDefault false; 37 35 }; ··· 39 37 home.packages = with pkgs; [ 40 38 chatterino2 41 39 equibop 42 - grim 43 40 krita 44 41 libappindicator 45 42 libappindicator-gtk3 46 43 lutris 47 44 prismlauncher 48 45 pwvucontrol 46 + hyprshot 49 47 satty 50 - slurp 51 48 ueberzug 52 49 (olympus.overrideAttrs (_: { 53 50 celesteWrapper = osConfig.programs.steam.package.run;
+1 -1
homeModules/programs/wlogout/default.nix
··· 40 40 } 41 41 { 42 42 label = "lock"; 43 - action = lib.getExe pkgs.swaylock-effects; 43 + action = "hyprlock"; 44 44 text = "Lock"; 45 45 keybind = "l"; 46 46 }
+1 -1
homeModules/programs/wlogout/style.nix
··· 7 7 background-image: none; 8 8 } 9 9 window { 10 - background-image: image(url("/home/thehedgehog/bgs/ctp-waves.png"), url("/home/thehedgehog/bgs/ctp-waves.png")); 10 + background-image: image(url("/home/thehedgehog/bgs/wallpapers/xenia/chimmie_valentine_xenia.png"), url("/home/thehedgehog/bgs/wallpapers/xenia/chimmie_valentine_xenia.png")); 11 11 background-size: cover; 12 12 } 13 13 button {
+1
homeModules/services/default.nix
··· 6 6 ./mako 7 7 ./swayidle 8 8 ./syncthing 9 + ./vicinae 9 10 ]; 10 11 }
+3 -1
homeModules/services/mako/default.nix
··· 1 1 { lib, config, ... }: 2 2 let 3 3 cfg = config.py.services.mako; 4 + hl = config.wayland.windowManager.hyprland; 4 5 in 5 6 { 6 7 options.py.services.mako.enable = lib.mkEnableOption "mako"; 7 8 # avoid IFD 8 9 config.catppuccin.mako.enable = false; 9 - config.services.mako = lib.mkIf cfg.enable { 10 + # Hyprpanel with hyprland uses its own notification daemon 11 + config.services.mako = lib.mkIf (cfg.enable && !hl.enable) { 10 12 enable = true; 11 13 12 14 settings = {
+1 -1
homeModules/services/swayidle/default.nix
··· 10 10 { 11 11 options.py.services.swayidle.enable = lib.mkEnableOption "swayidle"; 12 12 config.services.swayidle = lib.mkIf cfg.enable { 13 - enable = true; 13 + enable = false; 14 14 events = [ 15 15 { 16 16 event = "lock";
+15
homeModules/services/vicinae/default.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: 6 + let 7 + cfg = config.py.services.vicinae; 8 + in 9 + { 10 + options.py.services.vicinae.enable = lib.mkEnableOption "Vicinae"; 11 + config.services.vicinae = lib.mkIf cfg.enable { 12 + enable = true; 13 + autoStart = true; 14 + }; 15 + }
+2 -1
homeModules/theming/default.nix
··· 15 15 }; 16 16 home.pointerCursor = mkIf pro.gui.enable { 17 17 package = pkgs.catppuccin-cursors.mochaBlue; 18 - name = "Catppuccin-Mocha-Blue"; 18 + name = "catppuccin-mocha-blue-cursors"; 19 19 gtk.enable = true; 20 + hyprcursor.enable = true; 20 21 }; 21 22 gtk = mkIf pro.gui.enable { 22 23 enable = true;
+1
homeModules/wayland/default.nix
··· 4 4 ./keybindings.nix 5 5 ./waybar.nix 6 6 ./swaylock.nix 7 + ./hyprland 7 8 ]; 8 9 }
+35
homeModules/wayland/hyprland/default.nix
··· 1 + { 2 + pkgs, 3 + config, 4 + osConfig, 5 + lib, 6 + ... 7 + }: 8 + let 9 + c = osConfig.py.programs.hyprland; 10 + cfg = config.wayland.windowManager.hyprland; 11 + in 12 + { 13 + imports = [ 14 + ./hyprpanel.nix 15 + ./services.nix 16 + ./hypridle.nix 17 + ./hyprlock.nix 18 + ]; 19 + config = { 20 + catppuccin.hyprland.enable = c.enable; 21 + wayland.windowManager.hyprland = { 22 + enable = c.enable; 23 + # Per https://nix-community.github.io/home-manager/options.xhtml#opt-wayland.windowManager.hyprland.package 24 + package = null; 25 + systemd = { 26 + enable = true; 27 + enableXdgAutostart = true; 28 + }; 29 + settings = import ./settings.nix; 30 + plugins = [ 31 + pkgs.hyprlandPlugins.hy3 32 + ]; 33 + }; 34 + }; 35 + }
+9
homeModules/wayland/hyprland/env.nix
··· 1 + { 2 + env = [ 3 + "WLR_NO_HARDWARE_CURSORS, 1" 4 + "WLR_RENDERER_ALLOW_SOFTWARE, 1" 5 + "NIXOS_OZONE_WL, 1" 6 + "XDG_SESSION_TYPE, wayland" 7 + "QT_QPA_PLATFORM, wayland" 8 + ]; 9 + }
+18
homeModules/wayland/hyprland/hypridle.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: 6 + let 7 + cfg = config.wayland.windowManager.hyprland; 8 + in 9 + { 10 + config.services.hypridle = lib.mkIf cfg.enable { 11 + enable = false; 12 + settings = { 13 + general = { 14 + lock_cmd = "hyprlock"; 15 + }; 16 + }; 17 + }; 18 + }
+93
homeModules/wayland/hyprland/hyprlock.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: 6 + let 7 + cfg = config.wayland.windowManager.hyprland; 8 + in 9 + { 10 + config.catppuccin.hyprlock.enable = cfg.enable; 11 + config.catppuccin.hyprlock.useDefaultConfig = false; 12 + config.programs.hyprlock = lib.mkIf cfg.enable { 13 + enable = true; 14 + settings = { 15 + general = { 16 + hide_cursor = true; 17 + immediate_render = true; 18 + text_trim = true; 19 + }; 20 + }; 21 + extraConfig = '' 22 + $accent = $mauve 23 + $accentAlpha = $mauveAlpha 24 + $font = Blex Mono Nerd Font 25 + 26 + # BACKGROUND 27 + background { 28 + monitor = 29 + path = $HOME/bgs/wallpapers/xenia/chimmie_valentine_xenia.png 30 + blur_passes = 1 31 + color = $base 32 + } 33 + 34 + # TIME 35 + label { 36 + monitor = 37 + text = $TIME 38 + color = $text 39 + font_size = 90 40 + font_family = $font 41 + position = -30, 0 42 + halign = right 43 + valign = top 44 + } 45 + 46 + # DATE 47 + label { 48 + monitor = 49 + text = cmd[update:43200000] date +"%A, %d %B %Y" 50 + color = $text 51 + font_size = 25 52 + font_family = $font 53 + position = -30, -150 54 + halign = right 55 + valign = top 56 + } 57 + 58 + # USER AVATAR 59 + image { 60 + monitor = 61 + path = $HOME/.face 62 + size = 100 63 + border_color = $accent 64 + position = 0, 75 65 + halign = center 66 + valign = center 67 + } 68 + 69 + # INPUT FIELD 70 + input-field { 71 + monitor = 72 + size = 300, 60 73 + outline_thickness = 4 74 + dots_size = 0.2 75 + dots_spacing = 0.2 76 + dots_center = true 77 + outer_color = $accent 78 + inner_color = $surface0 79 + font_color = $text 80 + fade_on_empty = false 81 + placeholder_text = <span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span> 82 + hide_input = false 83 + check_color = $accent 84 + fail_color = $red 85 + fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> 86 + capslock_color = $yellow 87 + position = 0, -47 88 + halign = center 89 + valign = center 90 + } 91 + ''; 92 + }; 93 + }
+14
homeModules/wayland/hyprland/hyprpanel.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: 6 + let 7 + cfg = config.wayland.windowManager.hyprland; 8 + in 9 + { 10 + programs.hyprpanel = lib.mkIf cfg.enable { 11 + enable = true; 12 + systemd.enable = true; 13 + }; 14 + }
+98
homeModules/wayland/hyprland/keybindings.nix
··· 1 + { 2 + "$mod" = "SUPER"; 3 + "$satty" = "satty -f -"; 4 + 5 + binde = [ 6 + # Media binds that can be held and repeated 7 + ", XF86MonBrightnessDown, exec, brightnessctl set 5%-" 8 + ", XF86MonBrightnessUp, exec, brightnessctl set +5%" 9 + ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" 10 + ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" 11 + ]; 12 + 13 + bind = [ 14 + "SUPER_SHIFT, F, exec, MOZ_DISABLE_RDD_SANDBOX=1 firefox" 15 + "$mod, Return, exec, ghostty" 16 + "$mod, X, exec, wlogout" 17 + "$mod, D, exec, vicinae toggle" 18 + "SUPER_SHIFT, E, exit" 19 + 20 + # Media Binds 21 + ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" 22 + ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" 23 + ", XF86AudioPlay, exec, playerctl play-pause" 24 + ", XF86AudioNext, exec, playerctl next" 25 + ", XF86AudioPrev, exec, playerctl previous" 26 + 27 + # Workspace binds 28 + "$mod, 1, workspace, 01" 29 + "SUPER_SHIFT, 1, hy3:movetoworkspace, 01, follow, warp" 30 + "$mod, 2, workspace, 02" 31 + "SUPER_SHIFT, 2, hy3:movetoworkspace, 02, follow, warp" 32 + "$mod, 3, workspace, 03" 33 + "SUPER_SHIFT, 3, hy3:movetoworkspace, 03, follow, warp" 34 + "$mod, 4, workspace, 04" 35 + "SUPER_SHIFT, 4, hy3:movetoworkspace, 04, follow, warp" 36 + "$mod, 5, workspace, 05" 37 + "SUPER_SHIFT, 5, hy3:movetoworkspace, 05, follow, warp" 38 + "$mod, 6, workspace, 06" 39 + "SUPER_SHIFT, 6, hy3:movetoworkspace, 06, follow, warp" 40 + "$mod, 7, workspace, 07" 41 + "SUPER_SHIFT, 7, hy3:movetoworkspace, 07, follow, warp" 42 + "$mod, 8, workspace, 08" 43 + "SUPER_SHIFT, 8, hy3:movetoworkspace, 08, follow, warp" 44 + "$mod, 9, workspace, 09" 45 + "SUPER_SHIFT, 9, hy3:movetoworkspace, 09, follow, warp" 46 + "$mod, 0, workspace, 10" 47 + "SUPER_SHIFT, 0, hy3:movetoworkspace, 10, follow, warp" 48 + # Scratchpad 49 + "SUPER_SHIFT, -, movetoworkspace, special" 50 + "$mod, -, togglespecialworkspace" 51 + 52 + # Window Management 53 + "SUPER_SHIFT, Up, hy3:movewindow, up, once, visible" 54 + "SUPER_SHIFT, K, hy3:movewindow, up, once, visible" 55 + "$mod, Up, hy3:movefocus, up, visible, warp" 56 + "$mod, K, hy3:movefocus, up, visible, warp" 57 + 58 + "SUPER_SHIFT, Right, hy3:movewindow, right, once, visible" 59 + "SUPER_SHIFT, L, hy3:movewindow, right, once, visible" 60 + "$mod, Right, hy3:movefocus, right, visible, warp" 61 + "$mod, L, hy3:movefocus, right, visible, warp" 62 + 63 + "SUPER_SHIFT, Left, hy3:movewindow, left, once, visible" 64 + "SUPER_SHIFT, H, hy3:movewindow, left, once, visible" 65 + "$mod, Left, hy3:movefocus, left, visible, warp" 66 + "$mod, H, hy3:movefocus, left, visible, warp" 67 + 68 + "SUPER_SHIFT, Down, hy3:movewindow, down, once, visible" 69 + "SUPER_SHIFT, J, hy3:movewindow, down, once, visible" 70 + "$mod, Down, hy3:movefocus, down, visible, warp" 71 + "$mod, J, hy3:movefocus, down, visible, warp" 72 + 73 + "SUPER_SHIFT, Q, killactive" 74 + "$mod, F, fullscreen, 0" 75 + "$mod, Space, hy3:togglefocuslayer" 76 + "SUPER_SHIFT, Space, togglefloating, active" 77 + 78 + # Screenshots 79 + "SHIFT, F3, exec, hyprshot -m output --raw -z -s | $satty" 80 + "SHIFT, F4, exec, hyprshot -m region --raw -z -s | $satty" 81 + ]; 82 + 83 + bindm = [ 84 + "$mod, mouse:272, movewindow" 85 + ]; 86 + 87 + # Unbind a bunch of default keybinds 88 + unbind = [ 89 + "$mod, C" 90 + "$mod, E" 91 + "$mod, J" 92 + "$mod, M" 93 + "$mod, P" 94 + "$mod, Q" 95 + "$mod, R" 96 + "$mod, V" 97 + ]; 98 + }
+8
homeModules/wayland/hyprland/monitors.nix
··· 1 + { 2 + monitor = [ 3 + "eDP-1, 2560x1600@165, 0x0, 1, vrr, 1" 4 + "desc:Acer Technologies SA241Y 0x1497CF17, preferred, 2560x0, 1" 5 + # Fallback for random monitors 6 + ", preferred, auto, 1" 7 + ]; 8 + }
+7
homeModules/wayland/hyprland/plugins.nix
··· 1 + { 2 + plugin = { 3 + hy3 = { 4 + no_gaps_when_only = 1; 5 + }; 6 + }; 7 + }
+10
homeModules/wayland/hyprland/services.nix
··· 1 + { 2 + config, 3 + ... 4 + }: 5 + let 6 + cfg = config.wayland.windowManager.hyprland; 7 + in 8 + { 9 + services.hyprpolkitagent.enable = cfg.enable; 10 + }
+22
homeModules/wayland/hyprland/settings.nix
··· 1 + let 2 + keybinds = import ./keybindings.nix; 3 + monitors = import ./monitors.nix; 4 + variables = import ./variables.nix; 5 + plugins = import ./plugins.nix; 6 + env = import ./env.nix; 7 + windowrules = import ./windowrules.nix; 8 + in 9 + { 10 + exec-once = [ 11 + "hyprpanel" 12 + ]; 13 + animation = [ 14 + "global, 1, 4, default" 15 + ]; 16 + } 17 + // keybinds 18 + // monitors 19 + // variables 20 + // plugins 21 + // env 22 + // windowrules
+33
homeModules/wayland/hyprland/variables.nix
··· 1 + # https://wiki.hypr.land/Configuring/Variables 2 + { 3 + general = { 4 + gaps_in = 1; 5 + gaps_out = 1; 6 + gaps_workspaces = 80; 7 + layout = "hy3"; 8 + resize_on_border = true; 9 + }; 10 + decoration = { 11 + blur.enabled = false; 12 + shadow.enabled = false; 13 + }; 14 + misc = { 15 + disable_hyprland_logo = true; 16 + disable_splash_rendering = true; 17 + font_family = "Inter"; 18 + mouse_move_focuses_monitor = true; 19 + }; 20 + input = { 21 + kb_options = "caps:escape"; 22 + repeat_delay = 300; 23 + touchpad = { 24 + scroll_factor = 1.5; 25 + tap_button_map = "lmr"; 26 + tap-and-drag = false; 27 + }; 28 + }; 29 + ecosystem = { 30 + no_update_news = true; 31 + no_donation_nag = true; 32 + }; 33 + }
+6
homeModules/wayland/hyprland/windowrules.nix
··· 1 + { 2 + windowrule = [ 3 + "immediate, content game, title:Celeste" 4 + "tile, title:Melvor Idle" 5 + ]; 6 + }
+4 -3
homeModules/wayland/waybar.nix
··· 6 6 }: 7 7 let 8 8 cfg = config.py.profiles.gui; 9 + sway = config.wayland.windowManager.sway; 9 10 in 10 11 { 11 12 config = { 12 - xdg.configFile."waybar/mocha.css" = lib.mkIf cfg.enable { 13 + xdg.configFile."waybar/mocha.css" = lib.mkIf (cfg.enable && sway.enable) { 13 14 source = ./waybar-mocha.css; 14 15 recursive = false; 15 16 }; 16 17 catppuccin.waybar.enable = false; 17 - programs.waybar = lib.mkIf cfg.enable { 18 - enable = lib.mkDefault true; 18 + programs.waybar = lib.mkIf (cfg.enable && sway.enable) { 19 + enable = lib.mkDefault false; 19 20 systemd.enable = true; 20 21 systemd.target = "sway-session.target"; 21 22 style = ./waybar-style.css;
+1
hosts/default.nix
··· 11 11 inputs.self.nixosModules.defaultConfig 12 12 inputs.self.nixosModules.defaultUsers 13 13 inputs.self.nixosModules.firefox 14 + inputs.self.nixosModules.hyprland 14 15 inputs.self.nixosModules.forgejo-runner 15 16 inputs.self.nixosModules.hm-pyrox 16 17 inputs.self.nixosModules.hm-thehedgehog
+1
hosts/zaphod/default.nix
··· 35 35 dconf.enable = true; 36 36 firefox.enable = true; 37 37 fish.enable = true; 38 + hyprland.enable = true; 38 39 less.enable = true; 39 40 neovim.enable = true; 40 41 noisetorch.enable = true;
+1 -6
hosts/zaphod/programs/sway.nix
··· 1 - { pkgs, ... }: 2 1 { 3 2 programs.sway = { 4 - enable = true; 5 - extraPackages = with pkgs; [ 6 - swaylock-effects 7 - swayidle 8 - ]; 3 + enable = false; 9 4 wrapperFeatures.base = true; 10 5 wrapperFeatures.gtk = true; 11 6 };
img.png

This is a binary file and will not be displayed.

+1
nixosModules/default.nix
··· 11 11 # Programs 12 12 chromium = import ./programs/chromium; 13 13 firefox = import ./programs/firefox; 14 + hyprland = import ./programs/hyprland; 14 15 miscPrograms = import ./programs/misc; 15 16 neovim = import ./programs/neovim; 16 17
-123
nixosModules/homes/.default.nix.bak
··· 1 - { 2 - lib, 3 - withSystem, 4 - inputs, 5 - ... 6 - }: 7 - let 8 - mkHM = withSystem "x86_64-linux" ( 9 - { pkgs, system, ... }: 10 - extra: 11 - inputs.home-manager.lib.homeManagerConfiguration ( 12 - lib.mergeAttrs { 13 - inherit pkgs; 14 - extraSpecialArgs = { inherit inputs system; }; 15 - } extra 16 - ) 17 - ); 18 - defaultModules = [ 19 - inputs.ctp.homeModules.default 20 - inputs.self.homeModules.theming 21 - inputs.self.homeModules.programs 22 - inputs.self.homeModules.services 23 - ]; 24 - 25 - in 26 - { 27 - flake.homeConfigurations = { 28 - marvin-pyrox = mkHM { 29 - modules = [ 30 - inputs.self.homeModules.profiles 31 - ./pyrox 32 - { 33 - py.profiles.server.enable = true; 34 - } 35 - ] 36 - ++ defaultModules; 37 - }; 38 - marvin-thehedgehog = mkHM { 39 - modules = [ 40 - inputs.self.homeModules.profiles 41 - ./thehedgehog 42 - { 43 - py.profiles.server.enable = true; 44 - } 45 - ] 46 - ++ defaultModules; 47 - }; 48 - prefect-pyrox = mkHM { 49 - modules = [ 50 - inputs.self.homeModules.profiles 51 - ./pyrox 52 - { 53 - py.profiles.server.enable = true; 54 - } 55 - ] 56 - ++ defaultModules; 57 - }; 58 - prefect-thehedgehog = mkHM { 59 - modules = [ 60 - inputs.self.homeModules.profiles 61 - ./thehedgehog 62 - { 63 - py.profiles.server.enable = true; 64 - } 65 - ] 66 - ++ defaultModules; 67 - }; 68 - thought-pyrox = mkHM { 69 - modules = [ 70 - inputs.self.homeModules.profiles 71 - ./pyrox 72 - { 73 - py.profiles.server.enable = true; 74 - } 75 - ] 76 - ++ defaultModules; 77 - }; 78 - thought-thehedgehog = mkHM { 79 - modules = [ 80 - inputs.self.homeModules.profiles 81 - ./thehedgehog 82 - { 83 - py.profiles.server.enable = true; 84 - } 85 - ] 86 - ++ defaultModules; 87 - }; 88 - zaphod-pyrox = withSystem "x86_64-linux" ( 89 - { pkgs, ... }: 90 - inputs.home-manager.lib.homeManagerConfiguration { 91 - inherit pkgs; 92 - modules = [ 93 - inputs.self.homeModules.profiles 94 - { 95 - imports = [ 96 - ./pyrox 97 - "${inputs.self}/homeConfigurations/pyrox@zaphod" 98 - ]; 99 - py.profiles.desktop.enable = true; 100 - } 101 - ] 102 - ++ defaultModules; 103 - } 104 - ); 105 - zaphod-thehedgehog = withSystem "x86_64-linux" ( 106 - { pkgs, ... }: 107 - inputs.home-manager.lib.homeManagerConfiguration { 108 - inherit pkgs; 109 - modules = [ 110 - inputs.self.homeModules.profiles 111 - { 112 - imports = [ 113 - ./thehedgehog 114 - "${inputs.self}/homeConfigurations/thehedgehog@zaphod" 115 - ]; 116 - py.profiles.desktop.enable = true; 117 - } 118 - ] 119 - ++ defaultModules; 120 - } 121 - ); 122 - }; 123 - }
+20
nixosModules/programs/hyprland/default.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: 6 + let 7 + cfg = config.py.programs.hyprland; 8 + in 9 + { 10 + options = { 11 + py.programs.hyprland.enable = lib.mkEnableOption "Hyprland"; 12 + }; 13 + config = lib.mkIf cfg.enable { 14 + programs.hyprland = { 15 + enable = true; 16 + xwayland.enable = true; 17 + }; 18 + programs.hyprlock.enable = cfg.enable; 19 + }; 20 + }