Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix audio issues in sway, cleanup

+63 -4
+3 -1
gui.nix
··· 17 17 alsa.enable = true; 18 18 alsa.support32Bit = true; 19 19 pulse.enable = true; 20 + wireplumber.enable = true; 20 21 }; 21 22 22 23 # Graphics and parallel compute configuration ··· 58 59 wlr.enable = true; 59 60 extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; 60 61 }; 61 - 62 + services.dbus.enable = true; 63 + services.gnome.gnome-keyring.enable = true; 62 64 }
+5 -1
noah-home.nix
··· 3 3 unstable = import <nixos-unstable> { 4 4 config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 5 5 "jetbrains-toolbox" 6 + "jetbrains.rust-rover" 7 + "rust-rover" 8 + "discord" 6 9 ]; 7 10 }; 8 11 in { ··· 56 59 57 60 # JetBrains 58 61 unstable.jetbrains-toolbox 62 + unstable.jetbrains.rust-rover 59 63 60 64 # GUI tools 61 65 i3status ··· 66 70 67 71 # Unfree 68 72 obsidian 69 - discord 73 + unstable.discord 70 74 spotify 71 75 tailscale 72 76 ];
+55 -2
packages.nix
··· 1 1 { pkgs, lib, ... }: 2 + let # bash script to let dbus know about important env variables and 3 + # propagate them to relevent services run at the end of sway config 4 + # see 5 + # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist 6 + # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 7 + # some user services to make sure they have the correct environment variables 8 + dbus-sway-environment = pkgs.writeTextFile { 9 + name = "dbus-sway-environment"; 10 + destination = "/bin/dbus-sway-environment"; 11 + executable = true; 12 + 13 + text = '' 14 + dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway 15 + systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 16 + systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 17 + ''; 18 + }; 19 + 20 + # currently, there is some friction between sway and gtk: 21 + # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland 22 + # the suggested way to set gtk settings is with gsettings 23 + # for gsettings to work, we need to tell it where the schemas are 24 + # using the XDG_DATA_DIR environment variable 25 + # run at the end of sway config 26 + configure-gtk = pkgs.writeTextFile { 27 + name = "configure-gtk"; 28 + destination = "/bin/configure-gtk"; 29 + executable = true; 30 + text = let 31 + schema = pkgs.gsettings-desktop-schemas; 32 + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; 33 + in '' 34 + 6 gnome_schema=org.gnome.desktop.interface 35 + gsettings set $gnome_schema gtk-theme 'Dracula' 36 + ''; 37 + }; 38 + in 2 39 { 3 40 4 41 # List packages installed in system profile. To search, run: ··· 13 50 fzf 14 51 qemu 15 52 OVMF 53 + 54 + # Sway stuff 55 + wdisplays 56 + mako 57 + bemenu 58 + wl-clipboard 59 + slurp 60 + grim 61 + swayidle 62 + swaylock 63 + gnome3.adwaita-icon-theme 64 + dracula-theme 65 + glib 66 + xdg-utils 67 + wayland 68 + configure-gtk 69 + dbus-sway-environment 70 + dbus 16 71 ]; 17 72 # Logseq uses an ancient version of Electron, so we enable that 18 73 nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 19 74 20 75 # Whitelist some unfree packages 21 76 nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 22 - "jetbrains-toolbox-2.2.1.19765" 23 - "jetbrains-toolbox" 24 77 "discord" 25 78 "spotify" 26 79 "obsidian"