From 82b87e3e13b90df08c9375bc7e080b0ecfd116b2 Mon Sep 17 00:00:00 2001 From: Nathan Anderson Date: Mon, 22 Jul 2024 13:30:55 -0600 Subject: [PATCH] Updated config to use stable by default, updated lots of sway and app config tweaks --- flake.lock | 50 +++++++++++----- flake.nix | 16 ++--- nate/default.nix | 2 +- nate/dotfiles/helix/config.toml | 7 ++- .../sway/config.d/application_defaults | 3 +- nate/dotfiles/vis/config | 7 +++ nate/dotfiles/vis/vis.log | 0 nate/dotfiles/waybar/config | 22 +++---- nate/modules/home-manager/home.nix | 60 ++++++++++++------- nate/modules/sway/sway_conf.nix | 31 ++++------ 10 files changed, 121 insertions(+), 77 deletions(-) create mode 100644 nate/dotfiles/vis/config create mode 100644 nate/dotfiles/vis/vis.log diff --git a/flake.lock b/flake.lock index e7afd01..613fb68 100644 --- a/flake.lock +++ b/flake.lock @@ -3,46 +3,47 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1712759992, - "narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "owner": "nix-community", "repo": "home-manager", - "rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1712791164, - "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", + "lastModified": 1719426051, + "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", + "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs-23": { "locked": { - "lastModified": 1712741485, - "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", + "lastModified": 1719234068, + "narHash": "sha256-1AjSIedDC/aERt24KsCUftLpVppW61S7awfjGe7bMio=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72", + "rev": "90bd1b26e23760742fdcb6152369919098f05417", "type": "github" }, "original": { @@ -52,13 +53,29 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1719254875, + "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { - "lastModified": 1712926429, - "narHash": "sha256-WmwbUCUZc5RjQIy4RXzeIHe0upQYBZ4EpzsHG5ekjtU=", + "lastModified": 1719509062, + "narHash": "sha256-IYlezkrqdHmO/SXShve0PhDZVwLuHYweaRyrLrvta5E=", "owner": "nix-community", "repo": "NUR", - "rev": "b9208a06751daf35263796bc3b1a92ec82aff59c", + "rev": "0713da5785faf081a4fa06500890f8726755f464", "type": "github" }, "original": { @@ -71,7 +88,8 @@ "inputs": { "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-23": "nixpkgs-23", + "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } } diff --git a/flake.nix b/flake.nix index 7e84519..1dde4f8 100644 --- a/flake.nix +++ b/flake.nix @@ -2,22 +2,24 @@ description = "NixOS system flake."; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-23.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nur.url = "github:nix-community/NUR"; home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; }; }; - outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs: + outputs = { self, nixpkgs, nixpkgs-23, nixpkgs-unstable, nur, home-manager, ... } @ inputs: let inherit (self) outputs; system = "x86_64-linux"; timeZone = "America/Denver"; pkgs = nixpkgs.legacyPackages.${system}; - stablePkgs = nixpkgs-stable.legacyPackages.${system}; + unstablePkgs = import nixpkgs-unstable { system = system; config = { allowUnfree = true; }; }; + pkgs23 = import nixpkgs-23 { system = system; config = { allowUnfree = true; }; }; in { nixosConfigurations = { @@ -49,7 +51,7 @@ home-manager.useUserPackages = true; home-manager.users.nate = import ./nate/modules/home-manager/home.nix; home-manager.extraSpecialArgs = { - inherit inputs outputs; + inherit inputs outputs unstablePkgs pkgs23; }; } ./nate/default.nix diff --git a/nate/default.nix b/nate/default.nix index e74340b..af66ad0 100644 --- a/nate/default.nix +++ b/nate/default.nix @@ -27,7 +27,7 @@ nix.gc = { automatic = true; dates = "weekly"; - options = "--delete-older-than 1w"; + options = "--delete-older-than 14d"; }; # Optimize storage diff --git a/nate/dotfiles/helix/config.toml b/nate/dotfiles/helix/config.toml index fb925a7..a831afd 100644 --- a/nate/dotfiles/helix/config.toml +++ b/nate/dotfiles/helix/config.toml @@ -119,16 +119,18 @@ h = "hover" k = "select_references_to_symbol_under_cursor" [editor] -bufferline = "multiple" +bufferline = "always" auto-save = true line-number = "relative" cursorline = true +cursorcolumn = true color-modes = true text-width = 120 auto-format = true [editor.statusline] -left = ["mode", "spinner", "version-control", "file-name"] +left = ["mode", "spinner", "version-control"] +center = ["file-name"] mode.normal = "Normal" mode.insert = "Insert" mode.select = "Select" @@ -138,6 +140,7 @@ render = true [editor.lsp] display-messages = true +display-inlay-hints = false [editor.cursor-shape] insert = "bar" diff --git a/nate/dotfiles/sway/config.d/application_defaults b/nate/dotfiles/sway/config.d/application_defaults index c0094d9..3bff6ba 100644 --- a/nate/dotfiles/sway/config.d/application_defaults +++ b/nate/dotfiles/sway/config.d/application_defaults @@ -18,7 +18,7 @@ for_window [app_id="xed"] focus for_window [app_id="org.keepassxc.KeePassXC"] $floating_window for_window [app_id="org.keepassxc.KeePassXC" title="KeePassXC"] move to scratchpad #, scratchpad show # default to show -# set floating (nontiling)for apps needing it: +# set floating (nontiling) for apps needing it: for_window [class="Yad" instance="yad"] floating enable for_window [app_id="yad"] floating enable for_window [app_id="blueman-manager"] floating enable, resize set width 40 ppt height 30 ppt @@ -30,6 +30,7 @@ for_window [class="qt5ct" instance="qt5ct"] floating enable, resize set width 60 for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable for_window [app_id="pamac-manager"] floating enable, resize set width 80 ppt height 70 ppt for_window [class="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt +for_window [class="steam" title="^((?!Steam$).)*"] floating enable # set floating for window roles for_window [window_role="pop-up"] floating enable diff --git a/nate/dotfiles/vis/config b/nate/dotfiles/vis/config new file mode 100644 index 0000000..59b2a24 --- /dev/null +++ b/nate/dotfiles/vis/config @@ -0,0 +1,7 @@ +visualizer.fps=20 +visualizer.spectrum.bar.spacing=1 +visualizer.spectrum.bar.width=3 +visualizer.spectrum.smoothing.mode=monstercat + +visualizer.monstercat.smoothing.factor=3 +audio.stereo.enabled=false diff --git a/nate/dotfiles/vis/vis.log b/nate/dotfiles/vis/vis.log new file mode 100644 index 0000000..e69de29 diff --git a/nate/dotfiles/waybar/config b/nate/dotfiles/waybar/config index 8c20d9b..b4c0de5 100644 --- a/nate/dotfiles/waybar/config +++ b/nate/dotfiles/waybar/config @@ -80,7 +80,7 @@ "warning": 70, "critical": 90, }, - "on-click": "xfce4-terminal -e 'htop'", + "on-click": "foot -e 'htop'", }, "custom/keyboard-layout": { @@ -97,7 +97,7 @@ "memory": { "interval": 5, "format": " {}%", // Icon: memory - "on-click": "xfce4-terminal -e 'htop'", + "on-click": "foot -e 'htop'", "states": { "warning": 70, "critical": 90 @@ -110,7 +110,7 @@ "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet "format-disconnected": "⚠ Disconnected", "tooltip-format": "{ifname}: {ipaddr}", - "on-click": "xfce4-terminal -e 'nmtui'", + "on-click": "foot -e 'nmtui'", }, "network#vpn": { "interface": "tun0", @@ -147,18 +147,18 @@ "scroll-step": 1, // %, can be a float "format": "{volume}% {icon}", "format-bluetooth": "{volume}% {icon}  {format_source}", - "format-bluetooth-muted": " {icon}  {format_source}", - "format-muted": "婢 {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": " {format_source}", "format-source": "{volume}% ", "format-source-muted": "", "format-icons": { - "headphone": "", - "hands-free": "וֹ", - "headset": "  ", + "headphone": "", + "hands-free": "", + "headset": "", "phone": "", "portable": "", "car": "", - "default": [""] + "default": [""] }, "on-click": "pavucontrol", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%", @@ -198,14 +198,14 @@ }, "custom/spotify": { - "format": " ", + "format": "  ", "on-click": "foot -e 'ncspot'", "tooltip": false }, "custom/terminal": { "format": " ", - "on-click": "exec xfce4-terminal", + "on-click": "exec foot", "tooltip": false }, diff --git a/nate/modules/home-manager/home.nix b/nate/modules/home-manager/home.nix index 41b84df..4e076f3 100644 --- a/nate/modules/home-manager/home.nix +++ b/nate/modules/home-manager/home.nix @@ -1,21 +1,37 @@ -{ inputs, outputs, lib, config, pkgs, ... }: +{ inputs, config, pkgs, ... }: let userName = "nate"; fullName = "Nathan Anderson"; email = "n8r@tuta.io"; + unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; + oldstable = import inputs.nixpkgs-23 { system = "x86_64-linux"; config.allowUnfree = true; }; davinciDesktop = pkgs.makeDesktopItem { name = "davinci-resolve-studio"; desktopName = "Davinci Resolve Studio"; - exec = "${pkgs.davinci-resolve-studio}"; + exec = "${oldstable.davinci-resolve-studio}"; }; + # overlay-unstable = final: prev: { + # unstable = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux; + # }; + # overlay-oldstable = final: prev: { + # pkgs23 = inputs.nixpkgs-23.legacyPackages.x86_64-linux; + # }; + # overlay-unstable = final: prev: { + # # unstable = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux; + # unstable = import inputs.nixpkgs-unstable { + # system = "x86_64-linux"; + # config = { + # allowUnfreePredicate = (pkg: true); + # allowUnfree = true; + # }; + # }; + # }; in { # nixpkgs.overlays = [ - # inputs.nur.overlay + # overlay-unstable # ]; - # nixpkgs.config.allowUnfree = true; - # inputs.nixpkgs-stable.config.allowUnfree = true; imports = [ ../apps/firefox/firefox.nix ]; @@ -41,30 +57,29 @@ # # Dev Tools # - dbeaver - cargo + dbeaver-bin helix # kakoune # flutter316 docker docker-compose + fossil + fnc jq python310 - nodejs_21 - zig ### LSP's nil # Nix LSP + nodePackages_latest.bash-language-server openscad-lsp - nodePackages.typescript-language-server vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp - rubyPackages.solargraph - python310Packages.python-lsp-server - zls + python311Packages.python-lsp-server + # zls ### Misc # android-udev-rules # android-tools # sdkmanager usbutils + cli-visualizer openscad # @@ -72,14 +87,16 @@ # amdgpu_top mangohud + r2modman wine-wayland - inputs.nixpkgs-stable.legacyPackages.x86_64-linux.webcord + webcord # # Better Unix # bat duf + du-dust fd fzf lsd @@ -94,7 +111,7 @@ # # Photo / Video # - davinci-resolve-studio + oldstable.davinci-resolve-studio davinciDesktop imv mpv @@ -102,20 +119,22 @@ ffmpeg tenacity yt-dlp + libimobiledevice + ifuse # # Communication # mumble slack - signal-desktop + unstable.signal-desktop # # Other # keepassxc obs-studio - betaflight-configurator + unstable.betaflight-configurator yubioath-flutter # @@ -182,7 +201,7 @@ enable = true; oh-my-zsh = { enable = true; - plugins = [ "git" ]; + plugins = [ "fossil" "git" ]; theme = "half-life"; }; initExtra = '' @@ -223,7 +242,7 @@ qt = { enable = true; - platformTheme = "qtct"; + platformTheme.name = "qtct"; style.name = "kvantum"; }; @@ -238,7 +257,7 @@ name = "Papirus-Dark"; }; theme = { - name = "Catppuccin-Macchiato-Compact-Lavender-Dark"; + name = "catppuccin-macchiato-lavender-compact+rimless"; package = pkgs.catppuccin-gtk.override { accents = [ "lavender" ]; size = "compact"; @@ -258,6 +277,7 @@ ''; "Kvantum/Catppuccin-Frappe-Blue".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/Catppuccin-Frappe-Blue"; }; + home.file.".icons/default/index.theme".text = '' [icon theme] Inherits=Catppuccin-Macchiato-Lavender-Cursors diff --git a/nate/modules/sway/sway_conf.nix b/nate/modules/sway/sway_conf.nix index 695fb36..1343991 100644 --- a/nate/modules/sway/sway_conf.nix +++ b/nate/modules/sway/sway_conf.nix @@ -25,6 +25,7 @@ config = lib.mkIf config.swaywm.enable { programs.sway.enable = true; + programs.sway.wrapperFeatures.gtk = true; nixpkgs.config.allowUnfree = config.swaywm.useNonFree; # For R2ModMan @@ -65,6 +66,8 @@ sway-contrib.grimshot libnotify mako + man-pages + man-pages-posix ncspot networkmanagerapplet pavucontrol @@ -84,15 +87,11 @@ # Fonts ] config.swaywm.systemPackages - # (lib.mkIf config.swaywm.installGaming [ - # pkgs.lutris - # ]) ]; environment.variables.QT_STYLE_OVERRIDE = "kvantum"; - # environment.loginShellInit = '' - # [[ "$(tty)" == /dev/tty1 ]] && sway - # ''; + # adds additional man pages + documentation.dev.enable = true; # Thunar config programs.thunar = { @@ -110,7 +109,6 @@ programs.gamemode.enable = true; programs.adb.enable = true; - # kdeconnect setup programs.kdeconnect.enable = true; # service file to start the sshAgent programs.ssh.startAgent = true; @@ -119,11 +117,15 @@ ## Services ### virtualisation.docker.enable = true; + services.blueman.enable = true; + services.flatpak.enable = true; services.gvfs.enable = true; # thunar mount, trash, etc services.tumbler.enable = true; # thunar thumbnails services.openssh.enable = true; services.dbus.enable = true; services.syncthing.enable = true; + services.gnome.gnome-keyring.enable = true; + services.usbmuxd.enable = true; services.tailscale = { enable = true; openFirewall = true; @@ -141,27 +143,17 @@ services.pipewire = { enable = true; alsa.enable = true; - # alsa.support32Bit = true; pulse.enable = true; wireplumber.enable = true; }; sound.enable = false; + ### ## Misc ### - # Necessary for home-manager sway setup security.polkit.enable = true; - # services.xserver.enable = true; - # services.xserver.displayManager.defaultSession = "sway"; - # services.xserver.displayManager.gdm.enable = true; - # services.xserver.displayManager.gdm.wayland = true; - # services.xserver.displayManager.gdm.settings = { - # greeter.includeAll = false; - # greeter.include = "nate"; - # }; - services.greetd = { enable = true; settings = rec { @@ -178,7 +170,8 @@ systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; - # services.xserver.videoDrivers = [ "amdgpu-pro" ]; + hardware.bluetooth.enable = true; # enables support for Bluetooth + hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot hardware.opengl = { # Mesa enable = true;