diff --git a/home/core.nix b/home/core.nix index dd4e491..a483bf2 100644 --- a/home/core.nix +++ b/home/core.nix @@ -48,6 +48,8 @@ # productivity # iterm2 discord + betterdiscordctl + vesktop obsidian vscode weechat diff --git a/home/default.nix b/home/default.nix index a06fb8d..7686b73 100644 --- a/home/default.nix +++ b/home/default.nix @@ -25,9 +25,18 @@ if pkgs.stdenv.isDarwin then "/Users/${userName}" else "/home/${userName}"; + sessionVariables = { XDG_CURRENT_DESKTOP = "sway"; }; + + pointerCursor = { + gtk.enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 22; + }; + stateVersion = "24.05"; }; diff --git a/home/sway.nix b/home/sway.nix index 271b023..5b9f88e 100644 --- a/home/sway.nix +++ b/home/sway.nix @@ -1,4 +1,8 @@ -{lib, pkgs, ...}: let +{ + lib, + pkgs, + ... +}: let dirs = { defaults = ../defaults; }; @@ -13,89 +17,15 @@ in { gtk = true; }; }; + xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config); xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config); + xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css); programs.rofi.enable = pkgs.stdenv.isLinux; - programs.mako.enable = pkgs.stdenv.isLinux; + services.mako.enable = pkgs.stdenv.isLinux; # programs.cliphist.enable = pkgs.stdenv.isLinux; programs.waybar = { enable = pkgs.stdenv.isLinux; systemd.enable = true; - style = '' - * { - border: none; - border-radius: 0; - font-family: "Monaspace Krypton"; - font-size: 13px; - min-height: 0; - } - - window#waybar { - background: #1f2335; - border-bottom: 1px solid #24283b; - color: #c0caf5; - opacity: 0.808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808; - } - - #workspaces button { - padding: 5px; - padding-left: 12px; - padding-right: 12px; - background: transparent; - color: #c0caf5; - border-bottom: 1px solid transparent; - } - - #workspaces button.focused { - background: #c0caf5; - color: #1d2021; - border-bottom: 1px solid #c0caf5; - } - - #cpu, - #memory, - #pulseaudio, - #network, - #battery, - #clock, - #custom-playerctl { - padding: 0 10px; - margin: 0 5px; - } - - #battery.charging { - color: #9ece6a; - } - - #battery.warning:not(.charging) { - color: #ff9e64; - } - - @keyframes blink { - to { - background-color: #1d2021; - color: #ebdbb2; - } - } - - #battery.critical:not(.charging) { - background: #f7768e; - color: #ebdbb2; - border-bottom: 1px solid #ebdbb2; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - #network.disconnected { - color: #cc241d; - } - - #pulseaudio.muted { - color: #cc241d; - } - ''; }; } diff --git a/modules/nixos/configuration.nix b/modules/nixos/configuration.nix index 0722456..e5aaa08 100644 --- a/modules/nixos/configuration.nix +++ b/modules/nixos/configuration.nix @@ -72,6 +72,7 @@ firefox wttrbar cliphist + xivlauncher # run with this: gamescope -f -w 2560 -h 1440 -b -- gamemoderun %command% ]; # Install system-wide fonts @@ -119,16 +120,22 @@ localNetworkGameTransfers.openFirewall = true; }; + # Enable gamemode (gamemode, gamemoded, gamemoderun) when needed + programs.gamemode.enable = true; + # Enable gamescope (compositor) when needed programs.gamescope.enable = true; # Add username to groups "wheel" and "video" - more may be added here later - users.users.${userName}.extraGroups = ["wheel" "video"]; + users.users.${userName}.extraGroups = ["wheel" "video" "gamemode"]; # XDG stuff xdg = { portal = { enable = true; + wlr.enable = true; + config = {}; + xdgOpenUsePortal = true; extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk @@ -145,14 +152,16 @@ # Enable Flatpak (app containerization) # services.flatpak.enable = true; services.flatpak = { - enable = true; - remotes = [{ - name = "flathub"; location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; - }]; + enable = true; + remotes = [ + { + name = "flathub"; + location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; + } + ]; packages = [ "com.github.tchx84.Flatseal" "com.slack.Slack" - "dev.goats.xivlauncher" "info.beyondallreason.bar" "io.dbeaver.DBeaverCommunity" "io.openrct2.OpenRCT2" @@ -160,7 +169,6 @@ "org.prismlauncher.PrismLauncher" "sh.cider.Cider" ]; - update = { auto = { enable = true; @@ -168,4 +176,6 @@ }; }; }; + + system.stateVersion = "24.05"; } diff --git a/modules/nixos/hardware-configuration.nix b/modules/nixos/hardware-configuration.nix index 91c6803..5c77f62 100644 --- a/modules/nixos/hardware-configuration.nix +++ b/modules/nixos/hardware-configuration.nix @@ -1,32 +1,36 @@ # 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 = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-label/COMPUTER"; - fsType = "xfs"; - }; + fileSystems."/" = { + device = "/dev/disk/by-label/COMPUTER"; + fsType = "xfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-label/BOOT"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-label/BOOT"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/6d6bcc02-20a9-4ae8-9c1e-5124fb2b2634"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-label/SWAP";} + ]; # 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