diff --git a/configurations/laptop/configuration.nix b/configurations/laptop/configuration.nix index bdafb8ce..46b68215 100644 --- a/configurations/laptop/configuration.nix +++ b/configurations/laptop/configuration.nix @@ -30,16 +30,20 @@ foot # Terminal Emulator dmenu # Application Launcher wmenu # Application Launcher - Wayland + networkmanager_dmenu # Network Manager dmenu script wdisplays # Manage wayland displays wlsunset # Day/night gamma adjustment/filter for wayland sway-contrib.grimshot # Screenshot tool for wayland mako # Notification Daemon + themix-gui # Application to design GTK themes + lxqt.pcmanfm-qt # File Manager lxqt.lxqt-archiver # Archiver qt6Packages.qt6ct # Manage QT6 Themes libsForQt5.qt5ct # Manage QT5 Themes lxappearance # Manage GTK Themes + kdePackages.polkit-kde-agent-1 # Polkit Prompt for password prompts etc ]; }; # XDG Portal Integration (For file chooser/screensharing etc) @@ -50,6 +54,8 @@ qt.enable = true; # Enable xwayland support programs.xwayland.enable = true; + # Enable polkit + security.polkit.enable = true; # GTK themes are not applied in Wayland applications / Window Decorations missing / Cursor looks different programs.dconf.enable = true; @@ -106,14 +112,25 @@ python3 usbutils nvtop-intel + xdg-user-dirs ]; # Set konsole to be default terminal environment.sessionVariables = { TERM = "foot"; + QT_QPA_PLATFORM = "wayland-egl"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + _JAVA_AWT_WM_NONREPARENTING = "1"; }; environment.variables = { TERM = "foot"; + QT_QPA_PLATFORM = "wayland-egl"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + _JAVA_AWT_WM_NONREPARENTING = "1"; }; } diff --git a/configurations/laptop/hardware-configuration.nix b/configurations/laptop/hardware-configuration.nix index b918328a..d38a3cdd 100644 --- a/configurations/laptop/hardware-configuration.nix +++ b/configurations/laptop/hardware-configuration.nix @@ -8,26 +8,26 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "uas" "usbhid" "sd_mod" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ata_piix" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" "vendor-reset" ]; + boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/f25f2830-a778-4ecd-ad9b-93331ec13ff0"; + { device = "/dev/disk/by-uuid/502edf37-4301-4517-87dd-4b030310f869"; fsType = "ext4"; }; - boot.initrd.luks.devices."luks-542de15a-e6a5-4c6d-8c6a-62f916805da8".device = "/dev/disk/by-uuid/542de15a-e6a5-4c6d-8c6a-62f916805da8"; - boot.initrd.luks.devices."luks-9658340a-9d7d-4dbd-be1c-c8c7393ddfc3".device = "/dev/disk/by-uuid/9658340a-9d7d-4dbd-be1c-c8c7393ddfc3"; + boot.initrd.luks.devices."luks-a014fc29-65ec-4cbc-9ef2-d601c5157425".device = "/dev/disk/by-uuid/a014fc29-65ec-4cbc-9ef2-d601c5157425"; + boot.initrd.luks.devices."luks-5917f8ad-73ed-4839-ba81-be53a90685a1".device = "/dev/disk/by-uuid/5917f8ad-73ed-4839-ba81-be53a90685a1"; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/386A-F58F"; + { device = "/dev/disk/by-uuid/F323-67BC"; fsType = "vfat"; }; swapDevices = - [ { device = "/dev/disk/by-uuid/6a8760a6-b720-455d-8ff6-af76365374bf"; } + [ { device = "/dev/disk/by-uuid/aa1c6777-0afa-4fdf-84e8-5fead5e987d4"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking @@ -35,8 +35,9 @@ # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp7s0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/configurations/laptop/home.nix b/configurations/laptop/home.nix index 47c7b304..0237de01 100644 --- a/configurations/laptop/home.nix +++ b/configurations/laptop/home.nix @@ -40,10 +40,17 @@ # Config Files (typically $HOME/.config) xdg.configFile = { "sway/config".source = ./resources/home-manager/.config/sway/config; + "foot/foot.ini".source = ./resources/home-manager/.config/foot/foot.ini; + "networkmanager-dmenu/config.ini".source = ./resources/home-manager/.config/networkmanager-dmenu/config.ini; }; home.sessionVariables = { TERM = "foot"; + QT_QPA_PLATFORM = "wayland-egl"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + _JAVA_AWT_WM_NONREPARENTING = "1"; }; programs.bash = { diff --git a/configurations/laptop/resources/home-manager/.config/foot/foot.ini b/configurations/laptop/resources/home-manager/.config/foot/foot.ini new file mode 100644 index 00000000..6d453088 --- /dev/null +++ b/configurations/laptop/resources/home-manager/.config/foot/foot.ini @@ -0,0 +1,23 @@ +# -*- conf -*- +font=HackNerdFontMono-Regular:size=13 + +# Gruvbox - Light +[colors] +background=fbf1c7 +foreground=3c3836 +regular0=fbf1c7 +regular1=cc241d +regular2=98971a +regular3=d79921 +regular4=458588 +regular5=b16286 +regular6=689d6a +regular7=7c6f64 +bright0=928374 +bright1=9d0006 +bright2=79740e +bright3=b57614 +bright4=076678 +bright5=8f3f71 +bright6=427b58 +bright7=3c3836 \ No newline at end of file diff --git a/configurations/laptop/resources/home-manager/.config/networkmanager-dmenu/config.ini b/configurations/laptop/resources/home-manager/.config/networkmanager-dmenu/config.ini new file mode 100644 index 00000000..70107298 --- /dev/null +++ b/configurations/laptop/resources/home-manager/.config/networkmanager-dmenu/config.ini @@ -0,0 +1,49 @@ +[dmenu] +compact = True +dmenu_command = wmenu -N f9f5d7 -n 3c3836 -S 8f3f71 -s fbf1c7 -f "Hack Nerd Font Mono 14" +# # Note that dmenu_command can contain arguments as well like: +# # `dmenu_command = rofi -dmenu -i -theme nmdm` +# # `dmenu_command = rofi -dmenu -width 30 -i` +# # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030` +# # `dmenu_command = fuzzel --dmenu` +# # `dmenu_command = wofi --dmenu` +# active_chars = == +# highlight = # (Default: False) use highlighting instead of active_chars (only applicable to Rofi / Wofi) +# highlight_fg = # (Default: None) foreground color of active connection (only applicable to Wofi) +# highlight_bg = # (Default: None) background color of active connection (only applicable to Wofi) +# highlight_bold = # (Default: True) make active connection bold (only applicable to Wofi) +# compact = # (Default: False). Remove extra spacing from display +# pinentry = # (Default: None) e.g. `pinentry-gtk` +# wifi_chars = +# wifi_chars = ▂▄▆█ +# wifi_icons = +# wifi_icons = 󰤯󰤟󰤢󰤥󰤨 +# format = +# format = {name} {sec} {bars} +# # Available variables are: +# # * {name} - Access point name +# # * {sec} - Security type +# # * {signal} - Signal strength on a scale of 0-100 +# # * {bars} - Bar-based display of signal strength (see wifi_chars) +# # * {icon} - Icon-based display of signal strength (see wifi_icons) +# # * {max_len_name} and {max_len_sec} are the maximum lengths of {name} / {sec} +# # respectively and may be useful for formatting. +# list_saved = # (Default: False) list saved connections + +[dmenu_passphrase] +# # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and +# # -nf to the same color or uses -P if the dmenu password patch is applied +# # https://tools.suckless.org/dmenu/patches/password/ +# obscure = True +# obscure_color = #222222 + +[pinentry] +# description = (Default: Get network password) +# prompt = (Default: Password:) + +[editor] +# terminal = +# gui_if_available = (Default: True) + +[nmdm] +# rescan_delay = # (seconds to wait after a wifi rescan before redisplaying the results) \ No newline at end of file diff --git a/configurations/laptop/resources/home-manager/.config/sway/config b/configurations/laptop/resources/home-manager/.config/sway/config index b7c2eee8..1f11affa 100755 --- a/configurations/laptop/resources/home-manager/.config/sway/config +++ b/configurations/laptop/resources/home-manager/.config/sway/config @@ -18,7 +18,7 @@ set $term foot # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu dmenu_path | wmenu | xargs swaymsg exec -- +set $menu dmenu_path | wmenu -N f9f5d7 -n 3c3836 -S 8f3f71 -s fbf1c7 -f "Hack Nerd Font Mono 14" | xargs swaymsg exec -- include /etc/sway/config-vars.d/* @@ -60,6 +60,20 @@ output * bg ~/Pictures/Wallpapers/gruvbox_light_linux.png fill # You can get the names of your inputs by running: swaymsg -t get_inputs # Read `man 5 sway-input` for more information about this section. +# Font Configuration +font pango:Hack Nerd Font Mono 12 + +# Border Configuration +default_border pixel 3 +default_floating_border normal 3 +client.focused #b16286 #b16286 #f9f5d7 +client.focused_inactive #f9f5d7 #f9f5d7 #3c3836 +client.unfocused #f9f5d7 #f9f5d7 #3c3836 + +# Gaps Configuration +gaps inner 5 +gaps outer 5 + ### Key bindings # # Basics: @@ -213,9 +227,11 @@ bar { status_command while echo "`date +'%Y-%m-%d %I:%M:%S %p'` \| Battery: %`cat /sys/class/power_supply/BAT0/capacity` \(`cat /sys/class/power_supply/BAT0/status`\)"; do sleep 1; done colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c + statusline #3c3836 + background #f9f5d7 + focused_workspace #b16286 #8f3f71 #fbf1c7 + active_workspace #b16286 #8f3f71 #fbf1c7 + inactive_workspace #ebdbb2 #d5c4a1 #3c3836 } } diff --git a/flake.nix b/flake.nix index ec4e2b73..478f26af 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + }; outputs = { self, nixpkgs, ... }@inputs: {