diff --git a/flake.lock b/flake.lock index 89e7a40..100446a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,5 @@ { "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": { @@ -69,35 +48,13 @@ "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_2", + "nixpkgs": "nixpkgs", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -169,22 +126,6 @@ "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": [ @@ -229,7 +170,7 @@ }, "hypr-contrib": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1718476555, @@ -280,7 +221,7 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "systems": "systems", "xdph": "xdph" }, @@ -358,7 +299,7 @@ }, "hyprpicker": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1719873934, @@ -458,7 +399,7 @@ "nix-gaming": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1720185178, @@ -476,16 +417,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657425264, - "narHash": "sha256-3aHvoI2e8vJKw3hvnHECaBpSsL5mxVsVtaLCnTdNcH8=", + "lastModified": 1719826879, + "narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=", "owner": "nixos", "repo": "nixpkgs", - "rev": "de5b3dd17034e6106e75746e81618e5bd408de8a", + "rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable-small", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -503,22 +444,6 @@ } }, "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=", @@ -534,7 +459,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1719075281, "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", @@ -550,7 +475,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1683014792, "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", @@ -566,7 +491,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1719468428, "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", @@ -582,7 +507,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1720031269, "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", @@ -645,7 +570,6 @@ }, "root": { "inputs": { - "alejandra": "alejandra", "catppuccin-bat": "catppuccin-bat", "catppuccin-cava": "catppuccin-cava", "catppuccin-starship": "catppuccin-starship", @@ -655,27 +579,10 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "nix-gaming": "nix-gaming", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "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 f81da93..0f850ee 100644 --- a/flake.nix +++ b/flake.nix @@ -8,8 +8,6 @@ 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 62bd126..011f35d 100644 --- a/hosts/frues-port/hardware-configuration.nix +++ b/hosts/frues-port/hardware-configuration.nix @@ -1,33 +1,37 @@ # 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, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + 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 ec64745..5ea8ae1 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -17,6 +17,7 @@ ++ [(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 d36717c..a48272d 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, J, 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 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" - # screenshot - "$mainMod, Print, exec, screenshot-menu" - ",Print, exec, grimblast --notify --cursor --freeze copy area" + # 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" - # switch focus - "$mainMod, H, movefocus, l" - "$mainMod, L, movefocus, r" - "$mainMod, K, movefocus, u" - "$mainMod, J, movefocus, d" + # 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 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" - ]; + # 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 new file mode 100644 index 0000000..411b663 --- /dev/null +++ b/modules/home/nextcloud.nix @@ -0,0 +1,6 @@ +{...}: { + services.nextcloud-client = { + enable = true; + startInBackground = true; + }; +} diff --git a/modules/home/packages.nix b/modules/home/packages.nix index f177697..88e3c9d 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -61,6 +61,6 @@ wget xdg-utils xxd - inputs.alejandra.defaultPackage.${system} + alejandra ]; } diff --git a/modules/home/waybar/settings.nix b/modules/home/waybar/settings.nix index 4ea80ec..fbfc3c3 100644 --- a/modules/home/waybar/settings.nix +++ b/modules/home/waybar/settings.nix @@ -9,6 +9,7 @@ opacity = ".85"; cursor = "Numix-Cursor"; }, + host, ... }: { programs.waybar.settings.mainBar = { @@ -28,17 +29,26 @@ modules-center = [ "hyprland/workspaces" ]; - modules-right = [ - "tray" - "cpu" - "memory" - "disk" - "pulseaudio" - "battery" - "network" - "custom/notification" - "clock" - ]; + 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" + ]; clock = { format = " {:%H:%M}"; tooltip = true; @@ -115,7 +125,7 @@ }; pulseaudio = { format = "{icon} {volume}%"; - format-muted = "󰖁 "; + format-muted = " "; format-icons = { default = [" "]; };