Updated config to use stable by default, updated lots of sway and app config tweaks

This commit is contained in:
Nathan Anderson 2024-07-22 13:30:55 -06:00
parent 90275dc0cd
commit 82b87e3e13
10 changed files with 121 additions and 77 deletions

View File

@ -3,46 +3,47 @@
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs-unstable"
] ]
}, },
"locked": { "locked": {
"lastModified": 1712759992, "lastModified": 1718530513,
"narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=", "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9", "rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1712791164, "lastModified": 1719426051,
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-23": {
"locked": { "locked": {
"lastModified": 1712741485, "lastModified": 1719234068,
"narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", "narHash": "sha256-1AjSIedDC/aERt24KsCUftLpVppW61S7awfjGe7bMio=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72", "rev": "90bd1b26e23760742fdcb6152369919098f05417",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -52,13 +53,29 @@
"type": "github" "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": { "nur": {
"locked": { "locked": {
"lastModified": 1712926429, "lastModified": 1719509062,
"narHash": "sha256-WmwbUCUZc5RjQIy4RXzeIHe0upQYBZ4EpzsHG5ekjtU=", "narHash": "sha256-IYlezkrqdHmO/SXShve0PhDZVwLuHYweaRyrLrvta5E=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "b9208a06751daf35263796bc3b1a92ec82aff59c", "rev": "0713da5785faf081a4fa06500890f8726755f464",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -71,7 +88,8 @@
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-23": "nixpkgs-23",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur" "nur": "nur"
} }
} }

View File

@ -2,22 +2,24 @@
description = "NixOS system flake."; description = "NixOS system flake.";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-23.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs"; 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 let
inherit (self) outputs; inherit (self) outputs;
system = "x86_64-linux"; system = "x86_64-linux";
timeZone = "America/Denver"; timeZone = "America/Denver";
pkgs = nixpkgs.legacyPackages.${system}; 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 in
{ {
nixosConfigurations = { nixosConfigurations = {
@ -49,7 +51,7 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.nate = import ./nate/modules/home-manager/home.nix; home-manager.users.nate = import ./nate/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs unstablePkgs pkgs23;
}; };
} }
./nate/default.nix ./nate/default.nix

View File

@ -27,7 +27,7 @@
nix.gc = { nix.gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 1w"; options = "--delete-older-than 14d";
}; };
# Optimize storage # Optimize storage

View File

@ -119,16 +119,18 @@ h = "hover"
k = "select_references_to_symbol_under_cursor" k = "select_references_to_symbol_under_cursor"
[editor] [editor]
bufferline = "multiple" bufferline = "always"
auto-save = true auto-save = true
line-number = "relative" line-number = "relative"
cursorline = true cursorline = true
cursorcolumn = true
color-modes = true color-modes = true
text-width = 120 text-width = 120
auto-format = true auto-format = true
[editor.statusline] [editor.statusline]
left = ["mode", "spinner", "version-control", "file-name"] left = ["mode", "spinner", "version-control"]
center = ["file-name"]
mode.normal = "Normal" mode.normal = "Normal"
mode.insert = "Insert" mode.insert = "Insert"
mode.select = "Select" mode.select = "Select"
@ -138,6 +140,7 @@ render = true
[editor.lsp] [editor.lsp]
display-messages = true display-messages = true
display-inlay-hints = false
[editor.cursor-shape] [editor.cursor-shape]
insert = "bar" insert = "bar"

View File

@ -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"] $floating_window
for_window [app_id="org.keepassxc.KeePassXC" title="KeePassXC"] move to scratchpad #, scratchpad show # default to show 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 [class="Yad" instance="yad"] floating enable
for_window [app_id="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 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 [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 [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="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt
for_window [class="steam" title="^((?!Steam$).)*"] floating enable
# set floating for window roles # set floating for window roles
for_window [window_role="pop-up"] floating enable for_window [window_role="pop-up"] floating enable

7
nate/dotfiles/vis/config Normal file
View File

@ -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

View File

View File

@ -80,7 +80,7 @@
"warning": 70, "warning": 70,
"critical": 90, "critical": 90,
}, },
"on-click": "xfce4-terminal -e 'htop'", "on-click": "foot -e 'htop'",
}, },
"custom/keyboard-layout": { "custom/keyboard-layout": {
@ -97,7 +97,7 @@
"memory": { "memory": {
"interval": 5, "interval": 5,
"format": " {}%", // Icon: memory "format": " {}%", // Icon: memory
"on-click": "xfce4-terminal -e 'htop'", "on-click": "foot -e 'htop'",
"states": { "states": {
"warning": 70, "warning": 70,
"critical": 90 "critical": 90
@ -110,7 +110,7 @@
"format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
"format-disconnected": "⚠ Disconnected", "format-disconnected": "⚠ Disconnected",
"tooltip-format": "{ifname}: {ipaddr}", "tooltip-format": "{ifname}: {ipaddr}",
"on-click": "xfce4-terminal -e 'nmtui'", "on-click": "foot -e 'nmtui'",
}, },
"network#vpn": { "network#vpn": {
"interface": "tun0", "interface": "tun0",
@ -147,18 +147,18 @@
"scroll-step": 1, // %, can be a float "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}", "format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}  {format_source}", "format-bluetooth": "{volume}% {icon}  {format_source}",
"format-bluetooth-muted": " {icon}  {format_source}", "format-bluetooth-muted": " {icon}  {format_source}",
"format-muted": " {format_source}", "format-muted": " {format_source}",
"format-source": "{volume}% ", "format-source": "{volume}% ",
"format-source-muted": "", "format-source-muted": "",
"format-icons": { "format-icons": {
"headphone": "", "headphone": "",
"hands-free": "", "hands-free": "",
"headset": "", "headset": "",
"phone": "", "phone": "",
"portable": "", "portable": "",
"car": "", "car": "",
"default": [""] "default": [""]
}, },
"on-click": "pavucontrol", "on-click": "pavucontrol",
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%",
@ -198,14 +198,14 @@
}, },
"custom/spotify": { "custom/spotify": {
"format": " ", "format": "  ",
"on-click": "foot -e 'ncspot'", "on-click": "foot -e 'ncspot'",
"tooltip": false "tooltip": false
}, },
"custom/terminal": { "custom/terminal": {
"format": " ", "format": " ",
"on-click": "exec xfce4-terminal", "on-click": "exec foot",
"tooltip": false "tooltip": false
}, },

View File

@ -1,21 +1,37 @@
{ inputs, outputs, lib, config, pkgs, ... }: { inputs, config, pkgs, ... }:
let let
userName = "nate"; userName = "nate";
fullName = "Nathan Anderson"; fullName = "Nathan Anderson";
email = "n8r@tuta.io"; 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 { davinciDesktop = pkgs.makeDesktopItem {
name = "davinci-resolve-studio"; name = "davinci-resolve-studio";
desktopName = "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 in
{ {
# nixpkgs.overlays = [ # nixpkgs.overlays = [
# inputs.nur.overlay # overlay-unstable
# ]; # ];
# nixpkgs.config.allowUnfree = true;
# inputs.nixpkgs-stable.config.allowUnfree = true;
imports = [ imports = [
../apps/firefox/firefox.nix ../apps/firefox/firefox.nix
]; ];
@ -41,30 +57,29 @@
# #
# Dev Tools # Dev Tools
# #
dbeaver dbeaver-bin
cargo
helix helix
# kakoune # kakoune
# flutter316 # flutter316
docker docker
docker-compose docker-compose
fossil
fnc
jq jq
python310 python310
nodejs_21
zig
### LSP's ### LSP's
nil # Nix LSP nil # Nix LSP
nodePackages_latest.bash-language-server
openscad-lsp openscad-lsp
nodePackages.typescript-language-server
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
rubyPackages.solargraph python311Packages.python-lsp-server
python310Packages.python-lsp-server # zls
zls
### Misc ### Misc
# android-udev-rules # android-udev-rules
# android-tools # android-tools
# sdkmanager # sdkmanager
usbutils usbutils
cli-visualizer
openscad openscad
# #
@ -72,14 +87,16 @@
# #
amdgpu_top amdgpu_top
mangohud mangohud
r2modman
wine-wayland wine-wayland
inputs.nixpkgs-stable.legacyPackages.x86_64-linux.webcord webcord
# #
# Better Unix # Better Unix
# #
bat bat
duf duf
du-dust
fd fd
fzf fzf
lsd lsd
@ -94,7 +111,7 @@
# #
# Photo / Video # Photo / Video
# #
davinci-resolve-studio oldstable.davinci-resolve-studio
davinciDesktop davinciDesktop
imv imv
mpv mpv
@ -102,20 +119,22 @@
ffmpeg ffmpeg
tenacity tenacity
yt-dlp yt-dlp
libimobiledevice
ifuse
# #
# Communication # Communication
# #
mumble mumble
slack slack
signal-desktop unstable.signal-desktop
# #
# Other # Other
# #
keepassxc keepassxc
obs-studio obs-studio
betaflight-configurator unstable.betaflight-configurator
yubioath-flutter yubioath-flutter
# #
@ -182,7 +201,7 @@
enable = true; enable = true;
oh-my-zsh = { oh-my-zsh = {
enable = true; enable = true;
plugins = [ "git" ]; plugins = [ "fossil" "git" ];
theme = "half-life"; theme = "half-life";
}; };
initExtra = '' initExtra = ''
@ -223,7 +242,7 @@
qt = { qt = {
enable = true; enable = true;
platformTheme = "qtct"; platformTheme.name = "qtct";
style.name = "kvantum"; style.name = "kvantum";
}; };
@ -238,7 +257,7 @@
name = "Papirus-Dark"; name = "Papirus-Dark";
}; };
theme = { theme = {
name = "Catppuccin-Macchiato-Compact-Lavender-Dark"; name = "catppuccin-macchiato-lavender-compact+rimless";
package = pkgs.catppuccin-gtk.override { package = pkgs.catppuccin-gtk.override {
accents = [ "lavender" ]; accents = [ "lavender" ];
size = "compact"; size = "compact";
@ -258,6 +277,7 @@
''; '';
"Kvantum/Catppuccin-Frappe-Blue".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/Catppuccin-Frappe-Blue"; "Kvantum/Catppuccin-Frappe-Blue".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/Catppuccin-Frappe-Blue";
}; };
home.file.".icons/default/index.theme".text = '' home.file.".icons/default/index.theme".text = ''
[icon theme] [icon theme]
Inherits=Catppuccin-Macchiato-Lavender-Cursors Inherits=Catppuccin-Macchiato-Lavender-Cursors

View File

@ -25,6 +25,7 @@
config = lib.mkIf config.swaywm.enable { config = lib.mkIf config.swaywm.enable {
programs.sway.enable = true; programs.sway.enable = true;
programs.sway.wrapperFeatures.gtk = true;
nixpkgs.config.allowUnfree = config.swaywm.useNonFree; nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
# For R2ModMan # For R2ModMan
@ -65,6 +66,8 @@
sway-contrib.grimshot sway-contrib.grimshot
libnotify libnotify
mako mako
man-pages
man-pages-posix
ncspot ncspot
networkmanagerapplet networkmanagerapplet
pavucontrol pavucontrol
@ -84,15 +87,11 @@
# Fonts # Fonts
] ]
config.swaywm.systemPackages config.swaywm.systemPackages
# (lib.mkIf config.swaywm.installGaming [
# pkgs.lutris
# ])
]; ];
environment.variables.QT_STYLE_OVERRIDE = "kvantum"; environment.variables.QT_STYLE_OVERRIDE = "kvantum";
# environment.loginShellInit = '' # adds additional man pages
# [[ "$(tty)" == /dev/tty1 ]] && sway documentation.dev.enable = true;
# '';
# Thunar config # Thunar config
programs.thunar = { programs.thunar = {
@ -110,7 +109,6 @@
programs.gamemode.enable = true; programs.gamemode.enable = true;
programs.adb.enable = true; programs.adb.enable = true;
# kdeconnect setup
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
# service file to start the sshAgent # service file to start the sshAgent
programs.ssh.startAgent = true; programs.ssh.startAgent = true;
@ -119,11 +117,15 @@
## Services ## Services
### ###
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
services.blueman.enable = true;
services.flatpak.enable = true;
services.gvfs.enable = true; # thunar mount, trash, etc services.gvfs.enable = true; # thunar mount, trash, etc
services.tumbler.enable = true; # thunar thumbnails services.tumbler.enable = true; # thunar thumbnails
services.openssh.enable = true; services.openssh.enable = true;
services.dbus.enable = true; services.dbus.enable = true;
services.syncthing.enable = true; services.syncthing.enable = true;
services.gnome.gnome-keyring.enable = true;
services.usbmuxd.enable = true;
services.tailscale = { services.tailscale = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
@ -141,27 +143,17 @@
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
# alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
}; };
sound.enable = false; sound.enable = false;
### ###
## Misc ## Misc
### ###
# Necessary for home-manager sway setup # Necessary for home-manager sway setup
security.polkit.enable = true; 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 = { services.greetd = {
enable = true; enable = true;
settings = rec { settings = rec {
@ -178,7 +170,8 @@
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" "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 = { hardware.opengl = {
# Mesa # Mesa
enable = true; enable = true;