diff --git a/hardware-configuration.nix b/hardware-configuration.nix index ff707d5..ebd9fc6 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,48 +1,29 @@ # 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 = [ - "nvme" - "xhci_pci" - "ahci" - "usb_storage" - "usbhid" - "sd_mod" - ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; + boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/850226f1-be02-42df-bb13-669f364ced4c"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/76e9b32a-249f-4827-ad98-9bc467952cfd"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/2A44-4B06"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/D3F1-6A1B"; - fsType = "vfat"; - options = [ - "fmask=0022" - "dmask=0022" - ]; - }; - fileSystems."/media/STUFF" = { - device = "/dev/disk/by-label/STUFF"; - fsType = "ext4"; - }; swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking @@ -50,9 +31,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.enp6s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.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/modules/home/nix/default.nix b/modules/home/nix/default.nix index 757991e..d60999d 100644 --- a/modules/home/nix/default.nix +++ b/modules/home/nix/default.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { imports = [ - #./nixvim/default.nix + ./sway/default.nix ./alacritty.nix ./shell.nix ./git.nix diff --git a/modules/home/nix/sway/default.nix b/modules/home/nix/sway/default.nix new file mode 100644 index 0000000..74ea188 --- /dev/null +++ b/modules/home/nix/sway/default.nix @@ -0,0 +1,14 @@ +{ config, pkgs, ... }: +{ + imports = [ + ./sway.nix + ]; + home = { + packages = with pkgs; [ + waybar + swaybg + slurp + grim + ]; + }; +} diff --git a/modules/home/nix/sway/sway.nix b/modules/home/nix/sway/sway.nix new file mode 100644 index 0000000..8b592aa --- /dev/null +++ b/modules/home/nix/sway/sway.nix @@ -0,0 +1,109 @@ +{config, pkgs, ... }: +{ + wayland.windowManager.sway = { + enable = true; + xwayland = true; + package = pkgs.swayfx-unwrapped; + wrapperFeatures.gtk = true; + + extraSessionCommands = '' + export _JAVA_AWT_WM_NONREPARENTING=1 + export QT_QPA_PLATFORM=wayland + export XDG_CURRENT_DESKTOP=sway + ''; + + config = rec { + modifier = "Mod4"; + terminal = "wezterm"; + menu = "${pkgs.rofi}/bin/rofi -show drun -c .config/rofi/config.rasi"; + startup = [ + {command = "swaybg -i $HOME/.wp/skull_purple.png";} + ]; + bars = [{ command = "waybar"; }]; + gaps = { + outer = 5; + inner = 10; + }; + + window = { + border = 0; + }; + + keybindings = { + # IMPORTANT STUFF # + "${modifier}+Return" = "exec ${terminal}"; + "${modifier}+space" = "exec ${menu}"; + "${modifier}+Q" = "kill"; + "${modifier}+Shift+R" = "reload"; + "${modifier}+Shift+S" = "${pkgs.grim}/bin/grim -g '$(${pkgs.slurp}/bin/slurp)'"; + # WINDOW STUFF # + "${modifier}+Shift+space" = "floating toggle"; + "${modifier}+Shift+F" = "fullscreen toggle"; + "${modifier}+Left" = "focus left"; + "${modifier}+Down" = "focus down"; + "${modifier}+Up" = "focus up"; + "${modifier}+Right" = "focus right"; + + "${modifier}+Ctrl+Right" = "resize shrink width 3 px or 3 ppt"; + "${modifier}+Ctrl+Down" = "resize grow height 3 px or 3 ppt"; + "${modifier}+Ctrl+Up" = "resize shrink height 3 px or 3 ppt"; + "${modifier}+Ctrl+Left" = "resize grow width 3 px or 3 ppt"; + + "${modifier}+Shift+Left" = "move left"; + "${modifier}+Shift+Down" = "move down"; + "${modifier}+Shift+Up" = "move up"; + "${modifier}+Shift+Right" = "move right"; + + # WORKSPACES # + "${modifier}+1" = "workspace number 1"; + "${modifier}+2" = "workspace number 2"; + "${modifier}+3" = "workspace number 3"; + "${modifier}+4" = "workspace number 4"; + "${modifier}+5" = "workspace number 5"; + "${modifier}+6" = "workspace number 6"; + "${modifier}+7" = "workspace number 7"; + "${modifier}+8" = "workspace number 8"; + "${modifier}+9" = "workspace number 9"; + + # MOVE WINDOW TO OTHER WS # + "${modifier}+Shift+1" = "move container to workspace number 1"; + "${modifier}+Shift+2" = "move container to workspace number 2"; + "${modifier}+Shift+3" = "move container to workspace number 3"; + "${modifier}+Shift+4" = "move container to workspace number 4"; + "${modifier}+Shift+5" = "move container to workspace number 5"; + "${modifier}+Shift+6" = "move container to workspace number 6"; + "${modifier}+Shift+7" = "move container to workspace number 7"; + "${modifier}+Shift+8" = "move container to workspace number 8"; + "${modifier}+Shift+9" = "move container to workspace number 9"; + + # Audio + "XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +10%"; + "XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -10%"; + "XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-volume toggle-mute"; + "XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop"; + "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; + "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; + "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; + + "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 15%-"; + "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +15%"; + }; + }; + + extraConfig = '' + shadows enable + corner_radius 12 + blur_radius 7 + blur_passes 4 + default_dim_inactive 0.2 + + for_window [app_id="wezterm"] blur enable + for_window [app_id="code"] blur enable + for_window [app_id="rofi"] blur enable + + default_border pixel 0px + default_floating_border none + titlebar_border_thickness 0 + ''; + }; +} diff --git a/modules/home/nix/tmux.nix b/modules/home/nix/tmux.nix index bd2ba72..39932aa 100644 --- a/modules/home/nix/tmux.nix +++ b/modules/home/nix/tmux.nix @@ -44,7 +44,7 @@ run-shell ${pkgs.tmuxPlugins.net-speed}/share/tmux-plugins/net-speed/net_speed.tmux run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux - #run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/battery/battery.tmux + run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/battery/battery.tmux set -g status-position top #set-option -g status-style bg=default diff --git a/modules/system/nix/boot.nix b/modules/system/nix/boot.nix index 92aba08..23f9490 100644 --- a/modules/system/nix/boot.nix +++ b/modules/system/nix/boot.nix @@ -4,11 +4,12 @@ loader = { systemd-boot = { enable = true; - }; - grub = { - enable = false; - device = "/dev/sda"; - useOSProber = true; + extraEntries = { + "mint.conf" = '' + title Linux Mint + efi /EFI/ubuntu/shimx64.efi + ''; + }; }; }; supportedFilesystems = [ "ntfs" ];