Files
nixos/home/profiles/gui.nix
primary 1719d54ee0 phase 3: new flake.nix + extract common-{nix,doas,shell-fish}; rewire imports
- New unified flake with two nixpkgs channels (unstable for desktops, 25.11 for muffin)
- modules/common-{doas,shell-fish,nix}.nix extracted from duplicated blocks
- modules/desktop-common.nix: renamed from system/common.nix; secret paths point to secrets/desktop/
- hosts/{mreow,yarn}/default.nix import desktop-common; yarn imports modules/no-rgb.nix
- hosts/muffin/default.nix imports common-* + server-prefixed modules + services/; duplicate doas/fish/nix blocks removed; gc retention preserved as mkForce override
- modules/age-secrets.nix: file paths → ../secrets/server/*.age
- services/{minecraft,matrix/livekit}: secret paths → ../secrets/server/
- home/profiles/*.nix: ./progs/ → ../progs/
- hosts/{mreow,yarn}/home.nix: imports rewired to ../../home/profiles/ and ../../home/progs/
- home/progs/pi.nix and hosts/yarn/home.nix: secret reads → ../../secrets/home/
- tests/*.nix: ../modules/security.nix → ../modules/server-security.nix; ../modules/overlays.nix → ../lib/overlays.nix
- lib/default.nix: takes explicit lib param (defaults to nixpkgs-stable.lib)
2026-04-18 00:58:55 -04:00

231 lines
4.1 KiB
Nix

{
pkgs,
lib,
inputs,
config,
...
}:
{
imports = [
./no-gui.nix
# ../progs/ghostty.nix
../progs/alacritty.nix
../progs/emacs.nix
# ../progs/trezor.nix # - broken
../progs/flatpak.nix
../progs/zen
];
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"apple_cursor"
"grayjay"
];
home.packages =
with pkgs;
lib.concatLists [
# libreoffice
[
libreoffice
hunspell # spellcheck
hunspellDicts.en_US # spellcheck dictionary
]
# browsers
[
tor-browser
grayjay
]
# music library management
[
picard
puddletag
lrcget
]
# image editing
[
darktable
rawtherapee
hugin
gimp3
pinta
]
[
#calculator
gnome-calculator
# audio editing
audacity
#fonts
noto-fonts
noto-fonts-color-emoji
liberation_ttf
#for ebook reading
foliate
#audio mixer (pavucontrol but for pipewire)
pwvucontrol
# minecraft launcher
prismlauncher
mpv
mumble
system76-keyboard-configurator
#jellyfin
finamp # music player
delfin # jellyfin client
signal-desktop
# accounting
# gnucash
# image tools
inkscape
nomacs
# partitioning utilities
gparted
gnome-disk-utility
# small nicities
wl-clipboard # wl-copy & wl-paste
libnotify # notifications library
xdg-utils # xdg utils
wireshark
nautilus
nufraw-thumbnailer
gdk-pixbuf
enblend-enfuse
# simple screen recording on wayland
wl-screenrec
# wayland-compatible color picker
hyprpicker
blender
ghidra-bin
# for mod organizer 2
zenity
p7zip
# password manager
keepassxc
freecad-wayland
localsend
# openstreetmap
josm
# in unstable ATM, gotta wait for it to hit stable
# video-trimmer
]
# all the fonts
(builtins.filter lib.isDerivation (builtins.attrValues nerd-fonts))
];
# programs.zed-editor = {
# enable = true;
# userSettings = {
# ui_font_size = 16;
# buffer_font_size = 16;
# theme = {
# mode = "system";
# light = "Gruvbox Dark Hard";
# dark = "One Dark";
# };
# };
# extensions = [
# "nix"
# "sql"
# "CSV"
# "assembly"
# ];
# };
# make chromium-based stuff use wayland
home.file.".config/chromium-flags.conf".text = "--ozone-platform-hint=auto";
# dark mode
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
home.sessionVariables = {
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath [
pkgs.stdenv.cc.cc
]}";
};
# allow extra fonts to be detected by fontconfig
fonts.fontconfig.enable = true;
# gtk application theming
gtk = {
enable = true;
# make gtk3 applications look like libadwaita applications!
theme = {
package = pkgs.adw-gtk3;
name = "adw-gtk3-dark";
};
# gtk4 apps use libadwaita natively, no theme package needed
gtk4.theme = null;
iconTheme = {
package = pkgs.adwaita-icon-theme;
name = "Adwaita";
};
};
# qt application theming - BROKEN and on fire
# qt = {
# enable = true;
# platformTheme = {
# name = "adwaita";
# package = [
# pkgs.adwaita-qt
# pkgs.adwaita-qt6
# ];
# };
# style = {
# name = "adwaita-dark";
# package = pkgs.adwaita-qt;
# };
# };
# macOS cursor!
home.pointerCursor = {
gtk.enable = true;
package = pkgs.apple-cursor;
name = "macOS";
size = 24;
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
};
}