diff --git a/flake.lock b/flake.lock index 100446a..89e7a40 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "alejandra": { + "inputs": { + "fenix": "fenix", + "flakeCompat": "flakeCompat", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1660592437, + "narHash": "sha256-xFumnivtVwu5fFBOrTxrv6fv3geHKF04RGP23EsDVaI=", + "owner": "kamadorueda", + "repo": "alejandra", + "rev": "e7eac49074b70814b542fee987af2987dd0520b5", + "type": "github" + }, + "original": { + "owner": "kamadorueda", + "ref": "3.0.0", + "repo": "alejandra", + "type": "github" + } + }, "catppuccin-bat": { "flake": false, "locked": { @@ -48,13 +69,35 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "alejandra", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1657607339, + "narHash": "sha256-HaqoAwlbVVZH2n4P3jN2FFPMpVuhxDy1poNOR7kzODc=", + "owner": "nix-community", + "repo": "fenix", + "rev": "b814c83d9e6aa5a28d0cf356ecfdafb2505ad37d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "fjordlauncher": { "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", "libnbtplusplus": "libnbtplusplus", "nix-filter": "nix-filter", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -126,6 +169,22 @@ "type": "github" } }, + "flakeCompat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -170,7 +229,7 @@ }, "hypr-contrib": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1718476555, @@ -221,7 +280,7 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "systems": "systems", "xdph": "xdph" }, @@ -299,7 +358,7 @@ }, "hyprpicker": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1719873934, @@ -399,7 +458,7 @@ "nix-gaming": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1720185178, @@ -417,16 +476,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719826879, - "narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=", + "lastModified": 1657425264, + "narHash": "sha256-3aHvoI2e8vJKw3hvnHECaBpSsL5mxVsVtaLCnTdNcH8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8", + "rev": "de5b3dd17034e6106e75746e81618e5bd408de8a", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable-small", "repo": "nixpkgs", "type": "github" } @@ -444,6 +503,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1719826879, + "narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1712163089, "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", @@ -459,7 +534,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1719075281, "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", @@ -475,7 +550,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1683014792, "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", @@ -491,7 +566,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1719468428, "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", @@ -507,7 +582,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1720031269, "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", @@ -570,6 +645,7 @@ }, "root": { "inputs": { + "alejandra": "alejandra", "catppuccin-bat": "catppuccin-bat", "catppuccin-cava": "catppuccin-cava", "catppuccin-starship": "catppuccin-starship", @@ -579,10 +655,27 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "nix-gaming": "nix-gaming", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "nur": "nur" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1657557289, + "narHash": "sha256-PRW+nUwuqNTRAEa83SfX+7g+g8nQ+2MMbasQ9nt6+UM=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "caf23f29144b371035b864a1017dbc32573ad56d", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1689347949, diff --git a/flake.nix b/flake.nix index 0f850ee..f81da93 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,8 @@ hypr-contrib.url = "github:hyprwm/contrib"; hyprpicker.url = "github:hyprwm/hyprpicker"; + alejandra.url = "github:kamadorueda/alejandra/3.0.0"; + nix-gaming.url = "github:fufexan/nix-gaming"; fjordlauncher.url = "github:unmojang/FjordLauncher"; diff --git a/hosts/frues-port/hardware-configuration.nix b/hosts/frues-port/hardware-configuration.nix index 011f35d..62bd126 100644 --- a/hosts/frues-port/hardware-configuration.nix +++ b/hosts/frues-port/hardware-configuration.nix @@ -1,37 +1,33 @@ # 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. +{ config, lib, pkgs, modulesPath, ... }: + { - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/5ea79d40-3025-41c3-9a74-0728706f33f7"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/5ea79d40-3025-41c3-9a74-0728706f33f7"; + fsType = "ext4"; + }; boot.initrd.luks.devices."luks-e7268192-e977-40fe-92d9-c1e2fb65fdc0".device = "/dev/disk/by-uuid/e7268192-e977-40fe-92d9-c1e2fb65fdc0"; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/6F08-F913"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/6F08-F913"; + fsType = "vfat"; + }; - swapDevices = [ - {device = "/dev/disk/by-uuid/5f19b076-bad1-4201-b13b-f4aa20b48c3a";} - ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/5f19b076-bad1-4201-b13b-f4aa20b48c3a"; } + ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/modules/home/default.nix b/modules/home/default.nix index 5ea8ae1..ec64745 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -17,7 +17,6 @@ ++ [(import ./hyprland)] # window manager ++ [(import ./kitty.nix)] # terminal ++ [(import ./swaync/swaync.nix)] # notification deamon - ++ [(import ./nextcloud.nix)] # nextcloud client ++ [(import ./nvim.nix)] # neovim editor ++ [(import ./packages.nix)] # other packages ++ [(import ./retroarch.nix)] diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index a48272d..d36717c 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -125,101 +125,101 @@ ]; }; - bind = - [ - # show keybinds list - "$mainMod, F1, exec, show-keybinds" + bind = [ + # show keybinds list + "$mainMod, F1, exec, show-keybinds" - # keybindings - "$mainMod, Return, exec, kitty" - "ALT, Return, exec, kitty --title float_kitty" - "$mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'" - "$mainMod, B, exec, floorp" - "$mainMod, N, exec, swaync-client -t" - "$mainMod SHIFT, N, exec, swaync-client -d" - "$mainMod SHIFT, Q, killactive," - "$mainMod, F, fullscreen, 0" - "$mainMod SHIFT, F, fullscreen, 1" - "$mainMod, Space, togglefloating," - "$mainMod, D, exec, fuzzel" - "$mainMod, M, exec, element-desktop" - "$mainMod, Escape, exec, loginctl lock-session" - "$mainMod SHIFT, Escape, exec, shutdown-script" - "$mainMod, P, pseudo," - "$mainMod SHIFT, P, togglesplit," - "$mainMod, E, exec, nemo" - "$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped" - "$mainMod, C ,exec, hyprpicker -a" - "$mainMod, W,exec, wallpaper-picker" + # keybindings + "$mainMod, Return, exec, kitty" + "ALT, Return, exec, kitty --title float_kitty" + "$mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'" + "$mainMod, B, exec, floorp" + "$mainMod, N, exec, swaync-client -t" + "$mainMod SHIFT, N, exec, swaync-client -d" + "$mainMod SHIFT, Q, killactive," + "$mainMod, F, fullscreen, 0" + "$mainMod SHIFT, F, fullscreen, 1" + "$mainMod, Space, togglefloating," + "$mainMod, D, exec, fuzzel" + "$mainMod, M, exec, element-desktop" + "$mainMod, Escape, exec, loginctl lock-session" + "$mainMod SHIFT, Escape, exec, shutdown-script" + "$mainMod, P, pseudo," + "$mainMod, J, togglesplit," + "$mainMod, E, exec, nemo" + "$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped" + "$mainMod, C ,exec, hyprpicker -a" + "$mainMod, W,exec, wallpaper-picker" - # screenshot - "$mainMod, Print, exec, screenshot-menu" - ",Print, exec, grimblast --notify --cursor --freeze copy area" - ] - ++ ( - # workspaces - # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} - builtins.concatLists ( - builtins.genList ( - x: let - ws = let - c = (x + 1) / 10; - in - builtins.toString (x + 1 - (c * 10)); - in [ - "$mainMod, ${ws}, workspace, ${toString (x + 1)}" - "$mainMod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" - ] - ) - 10 - ) - ) - ++ ["$mainMod CTRL, c, movetoworkspace, empty"] - ++ ( - # Window focus, movement and control - builtins.concatLists ( - let - keys = ["H" "L" "K" "J"]; - directions = ["l" "r" "u" "d"]; - resize = toString 80; # Change this to change how much a window resizes each keypress - resize_list = ["-${resize} 0" "${resize} 0" "0 -${resize}" "0 ${resize}"]; - in - builtins.genList ( - x: let - k = builtins.elemAt keys x; - d = builtins.elemAt directions x; - r = builtins.elemAt resize_list x; - in [ - "$mainMod, ${k}, movefocus, ${d}" - "$mainMod SHIFT, ${k}, movewindow, ${d}" - "$mainMod CTRL, ${k}, resizeactive, ${r}" - "$mainMod ALT, ${k}, moveactive, ${r}" - ] - ) - 4 - ) - ) - ++ [ - # media and volume controls - ",XF86AudioRaiseVolume,exec, pamixer -i 2" - ",XF86AudioLowerVolume,exec, pamixer -d 2" - ",XF86AudioMute,exec, pamixer -t" - ",XF86AudioPlay,exec, playerctl play-pause" - ",XF86AudioNext,exec, playerctl next" - ",XF86AudioPrev,exec, playerctl previous" - ",XF86AudioStop, exec, playerctl stop" - "$mainMod, mouse_down, workspace, e-1" - "$mainMod, mouse_up, workspace, e+1" + # screenshot + "$mainMod, Print, exec, screenshot-menu" + ",Print, exec, grimblast --notify --cursor --freeze copy area" - # laptop brigthness - ",XF86MonBrightnessUp, exec, brightnessctl set 5%+" - ",XF86MonBrightnessDown, exec, brightnessctl set 5%-" - "$mainMod, XF86MonBrightnessUp, exec, brightnessctl set 100%+" - "$mainMod, XF86MonBrightnessDown, exec, brightnessctl set 100%-" + # switch focus + "$mainMod, H, movefocus, l" + "$mainMod, L, movefocus, r" + "$mainMod, K, movefocus, u" + "$mainMod, J, movefocus, d" - # clipboard manager - "$mainMod, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy" - ]; + # switch workspace + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" + + # same as above, but switch to the workspace + "$mainMod SHIFT, 1, movetoworkspacesilent, 1" # movetoworkspacesilent + "$mainMod SHIFT, 2, movetoworkspacesilent, 2" + "$mainMod SHIFT, 3, movetoworkspacesilent, 3" + "$mainMod SHIFT, 4, movetoworkspacesilent, 4" + "$mainMod SHIFT, 5, movetoworkspacesilent, 5" + "$mainMod SHIFT, 6, movetoworkspacesilent, 6" + "$mainMod SHIFT, 7, movetoworkspacesilent, 7" + "$mainMod SHIFT, 8, movetoworkspacesilent, 8" + "$mainMod SHIFT, 9, movetoworkspacesilent, 9" + "$mainMod SHIFT, 0, movetoworkspacesilent, 10" + "$mainMod CTRL, c, movetoworkspace, empty" + + # window control + "$mainMod SHIFT, H, movewindow, l" + "$mainMod SHIFT, L, movewindow, r" + "$mainMod SHIFT, K, movewindow, u" + "$mainMod SHIFT, J, movewindow, d" + "$mainMod CTRL, H, resizeactive, -80 0" + "$mainMod CTRL, L, resizeactive, 80 0" + "$mainMod CTRL, K, resizeactive, 0 -80" + "$mainMod CTRL, J, resizeactive, 0 80" + "$mainMod ALT, H, moveactive, -80 0" + "$mainMod ALT, L, moveactive, 80 0" + "$mainMod ALT, K, moveactive, 0 -80" + "$mainMod ALT, J, moveactive, 0 80" + + # media and volume controls + ",XF86AudioRaiseVolume,exec, pamixer -i 2" + ",XF86AudioLowerVolume,exec, pamixer -d 2" + ",XF86AudioMute,exec, pamixer -t" + ",XF86AudioPlay,exec, playerctl play-pause" + ",XF86AudioNext,exec, playerctl next" + ",XF86AudioPrev,exec, playerctl previous" + ",XF86AudioStop, exec, playerctl stop" + "$mainMod, mouse_down, workspace, e-1" + "$mainMod, mouse_up, workspace, e+1" + + # laptop brigthness + ",XF86MonBrightnessUp, exec, brightnessctl set 5%+" + ",XF86MonBrightnessDown, exec, brightnessctl set 5%-" + "$mainMod, XF86MonBrightnessUp, exec, brightnessctl set 100%+" + "$mainMod, XF86MonBrightnessDown, exec, brightnessctl set 100%-" + + # clipboard manager + "$mainMod, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy" + ]; # mouse binding bindm = [ diff --git a/modules/home/nextcloud.nix b/modules/home/nextcloud.nix deleted file mode 100644 index 411b663..0000000 --- a/modules/home/nextcloud.nix +++ /dev/null @@ -1,6 +0,0 @@ -{...}: { - services.nextcloud-client = { - enable = true; - startInBackground = true; - }; -} diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 88e3c9d..f177697 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -61,6 +61,6 @@ wget xdg-utils xxd - alejandra + inputs.alejandra.defaultPackage.${system} ]; } diff --git a/modules/home/waybar/settings.nix b/modules/home/waybar/settings.nix index fbfc3c3..4ea80ec 100644 --- a/modules/home/waybar/settings.nix +++ b/modules/home/waybar/settings.nix @@ -9,7 +9,6 @@ opacity = ".85"; cursor = "Numix-Cursor"; }, - host, ... }: { programs.waybar.settings.mainBar = { @@ -29,26 +28,17 @@ modules-center = [ "hyprland/workspaces" ]; - modules-right = - [ - "tray" - ] - ++ ( - if (host == "frues-pc") # Only one with a big-enough screen - then [ - "cpu" - "memory" - "disk" - ] - else [] - ) - ++ [ - "pulseaudio" - "battery" - "network" - "custom/notification" - "clock" - ]; + modules-right = [ + "tray" + "cpu" + "memory" + "disk" + "pulseaudio" + "battery" + "network" + "custom/notification" + "clock" + ]; clock = { format = " {:%H:%M}"; tooltip = true; @@ -125,7 +115,7 @@ }; pulseaudio = { format = "{icon} {volume}%"; - format-muted = " "; + format-muted = "󰖁 "; format-icons = { default = [" "]; };