diff --git a/configuration.pc.nix b/configuration.pc.nix index f2466c4..5947aa2 100644 --- a/configuration.pc.nix +++ b/configuration.pc.nix @@ -134,23 +134,23 @@ description = "Dustin Swan"; extraGroups = [ "networkmanager" "wheel" ]; shell = pkgs.fish; - packages = with pkgs; [ - # thunderbird - ]; + # packages = with pkgs; [ ]; }; programs.fish.enable = true; programs.steam.enable = true; + # programs.xwayland.enable = true; + # programs.hyprland.enable = true; + # programs.niri.enable = true; + # programs.dms-shell.enable = true; # Allow unfree packages nixpkgs.config.allowUnfree = true; - # List packages installed in system profile. To search, run: - # $ nix search wget + # List packages installed in system profile environment.systemPackages = with pkgs; [ - vim - git - # wget + vim + git ]; # Some programs need SUID wrappers, can be configured further or are @@ -170,21 +170,12 @@ networking.firewall.allowedTCPPorts = [ 24800 # Deskflow 24801 # Deskflow - # 47984 # Sunshine - # 47989 # Sunshine - # 47990 # Sunshine - # 48010 # Sunshine 53317 # LocalSend ]; networking.firewall.allowedUDPPorts = [ 24800 # Deskflow 24801 # Deskflow - # 47998 # Sunshine - # 47999 # Sunshine - # 48000 # Sunshine - # 48002 # Sunshine - # 48010 # Sunshine 53317 # LocalSend ]; # Or disable the firewall altogether. diff --git a/hardware-configuration.pc.nix b/hardware-configuration.pc.nix new file mode 100644 index 0000000..8d7137e --- /dev/null +++ b/hardware-configuration.pc.nix @@ -0,0 +1,54 @@ +# 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") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + # Trying to get suspend working.. + # boot.kernelParams = [ "processor.max_cstate=1" ]; + boot.kernelParams = [ + # "mem_sleep_default=deep" # forces S3 suspend instead of s2idle + # "processor.max_cstate=5" # prevents CPU from going into deep C-states that break resume + # "amd_iommu=off" # optional, can help on some ASUS boards + "btusb.enable_autosuspend=0" + "usbcore.autosuspend=-1" + "btmtk.disable_sco_esco=Y" + ]; + boot.kernelModules = [ "kvm-amd" "btusb" "btmtk" ]; + + fileSystems."/" = + { device = "/dev/mapper/luks-78910c3e-3aec-4122-af7b-8a6e55005f1b"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-78910c3e-3aec-4122-af7b-8a6e55005f1b".device = "/dev/disk/by-uuid/78910c3e-3aec-4122-af7b-8a6e55005f1b"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/B0C0-690A"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # Trying to get Bluetooth working.. + boot.kernelPackages = pkgs.linuxPackages_latest; + hardware.enableRedistributableFirmware = true; + hardware.firmware = with pkgs; [ + linux-firmware + ]; + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + # services.blueman.enable = true; +} diff --git a/home-gui.nix b/home-gui.nix index 8eb44f3..9d4125a 100644 --- a/home-gui.nix +++ b/home-gui.nix @@ -24,11 +24,10 @@ programs.ghostty = { enable = true; installBatSyntax = false; - package = pkgs.ghostty-bin; settings = { font-family = "Iosevka NFM"; - font-size = 16; + font-size = 12; font-thicken = true; # theme = "dark:catppuccin-mocha,light:catppuccin-latte"; # TODO: waiting on all cli apps to handle auto switching too theme = "catppuccin-mocha"; diff --git a/home-linux.nix b/home-linux.nix index e6335ec..545d566 100644 --- a/home-linux.nix +++ b/home-linux.nix @@ -6,18 +6,59 @@ home.packages = with pkgs; [ # retroarch gimp blender brave - ghostty + # ghostty bitwarden-desktop nerd-fonts.iosevka high-tide tidal-hifi deskflow sunshine + # steam # added as a system package, so it actually works + # wl-clipboard # For Wayland clipboard (wl-copy, wl-paste) ]; - # home.keyboard.options = [ "ctrl:nocaps" "compose:ralt" ]; + programs.gnome-shell = { + enable = true; + extensions = with pkgs.gnomeExtensions; [ + { package = caffeine; } + { package = vitals; } + { package = appindicator; } + { package = syncthing-indicator; } + { package = blur-my-shell; } + { package = media-controls; } + ]; + }; + + dconf.settings = { + # Custom keybinding for Vicinae + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + ]; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + name = "Vicinae"; + command = "vicinae toggle"; + binding = "space"; + }; + + # Extension settings + "org/gnome/shell/extensions/vitals" = { + show-gpu = true; + }; + "org/gnome/shell/extensions/caffeine" = { + show-indicator = "always"; + }; + "org/gnome/shell/extensions/blur-my-shell" = { + settings-version = 2; + }; + }; programs.vicinae = { enable = true; + systemd = { + enable = true; + autoStart = true; + }; }; services.syncthing = { @@ -34,5 +75,43 @@ pinentry.package = pkgs.pinentry-all; }; + # Niri config - imported from separate file + # xdg.configFile."niri/config.kdl".source = ./niri-config.kdl; + + # wayland.windowManager.hyprland = { + # enable = true; + # settings = { + # "$mod" = "ALT"; + # input = { + # kb_layout = "us"; + # kb_variant = "dvorak"; + # }; + # # general = { + # # gaps_in = 0; + # # gaps_out = 0; + # # border_size = 2; + # # "col.active_border" = "rgba(89b4faaa)"; # Example color + # # "col.inactive_border" = "rgba(303030aa)"; + # # }; + # # decoration = { + # # shadow_offset = "0 5"; + # # "col.shadow" = "rgba(00000099)"; + # # }; + # # bindm = [ # Mouse bindings + # # "$mod, mouse:272, movewindow" + # # "$mod, mouse:273, resizewindow" + # # ]; + # bind = [ # Keyboard bindings + # # "$mod, Q, killactive," + # # "$mod, M, exit," # Exit Hyprland + # # "$mod, E, exec, firefox" # Open Firefox + # "$mod, Enter, exec, ghostty" + # ]; + # exec-once = [ # Run once on startup + # "vicinae server &" + # ]; + # }; + # }; + imports = [ ./home-cli.nix ./home-gui.nix ./home-mail.nix ]; } diff --git a/home-mac.nix b/home-mac.nix index 3529b84..8ab6439 100644 --- a/home-mac.nix +++ b/home-mac.nix @@ -8,6 +8,9 @@ terminal-notifier ]; + programs.ghostty.package = pkgs.ghostty-bin; + programs.ghostty.settings.font-size = 16; + home.file.gpg-agent = { target = ".gnupg/gpg-agent.conf"; text = ''