Skip to content
Draft
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f3263fb
feat: cutecosmic + unstable pkgs + adw-gtk3
danxliu Apr 2, 2026
56460da
feat: xdg portal
danxliu Apr 2, 2026
6390361
feat: fix typo
danxliu Apr 2, 2026
87241da
fix: typo
danxliu Apr 2, 2026
6ab570d
feat: add icon theme + apply_theme_global
danxliu Apr 2, 2026
54d7b20
remove papirus theme
danxliu Apr 2, 2026
4c48e2c
feat: remove unstable & cutecosmic, add qt5ct & qt6ct
danxliu Apr 2, 2026
b04c5fd
fix: remove rest of unstable packages
danxliu Apr 2, 2026
8882fd4
fix: change qt5ct package name
danxliu Apr 2, 2026
6550f31
feat: integrate with light/dark theme
danxliu Apr 2, 2026
bd991c9
fix: put apply_theme_global in the right spot
danxliu Apr 2, 2026
fe514e5
fix: persist light/dark theme on new login
danxliu Apr 2, 2026
3ceb26e
67 (#228)
danxliu Apr 2, 2026
1b59741
fix: krb5 ticket forwarding (#227)
jaysa68 Apr 2, 2026
8f01b15
Revert "set sddm wallpaper to login-afool.png (#225)" (#231)
24apricots Apr 2, 2026
4c8329d
gh actions: make build workflow actually build (#229)
24apricots Apr 2, 2026
5980520
Revert "67 (#228)" (#230)
24apricots Apr 2, 2026
15d9db9
feat: cutecosmic + unstable pkgs + adw-gtk3
danxliu Apr 2, 2026
908a2e7
fix: remove rest of unstable packages
danxliu Apr 2, 2026
4290474
Merge branch 'main' into icon-theme
danxliu Apr 2, 2026
e1eff8a
fix: remove unstable pkgs, change env and firefox settings
danxliu Apr 2, 2026
622b559
fix: remove firefox config
danxliu Apr 2, 2026
a6c100d
revert qt5ct env variable
danxliu Apr 2, 2026
c8c4c42
switch to kvantum from qt5ct
danxliu Apr 3, 2026
6148304
symlink rose pine kvantum themes
danxliu Apr 3, 2026
c8e7256
update kvantum with right theme names
danxliu Apr 3, 2026
c522f5e
feat: add back qt5ct and qt6ct with kvantum
danxliu Apr 3, 2026
c04a5d7
Merge branch 'main' into icon-theme
danxliu Apr 3, 2026
6abd8ae
fix: quote path variables in sed/ln commands and guard kvantum config…
Copilot Apr 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,13 @@
url = "github:ocf/jukebox-django";
inputs.nixpkgs.follows = "nixpkgs";
};

nixpkgs-unstable = {
type = "github";
owner = "nixos";
repo = "nixpkgs";
ref = "nixos-unstable";
};
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A new flake input (nixpkgs-unstable) was added, but flake.lock does not contain a corresponding node (verified by searching flake.lock). This will break nix commands that require a locked input set. Please run nix flake lock --update-input nixpkgs-unstable (and commit the lockfile change) or drop the input if it's not needed yet.

Suggested change
nixpkgs-unstable = {
type = "github";
owner = "nixos";
repo = "nixpkgs";
ref = "nixos-unstable";
};

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

};

outputs =
Expand Down
43 changes: 43 additions & 0 deletions modules/graphical/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,13 @@ in
# Conflict override since multiple DEs set this option
programs.ssh.askPassword = pkgs.lib.mkForce (lib.getExe pkgs.ksshaskpass.out);

xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
];
};

environment.systemPackages = with pkgs; [
catppuccin-sddm

Expand All @@ -125,6 +132,13 @@ in

# OCF IRC
halloy

# Themes
adw-gtk3
libsForQt5.qt5ct
kdePackages.qt6ct
adwaita-qt
adwaita-qt6
];

fonts.packages = with pkgs; [
Expand All @@ -133,6 +147,18 @@ in
noto-fonts-cjk-sans
];

environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QT_QPA_PLATFORMTHEME is set to qt5ct, but this PR also installs/configures qt6ct. With the current env var, Qt6 apps typically won't load the qt6ct platform theme plugin, so the ~/.config/qt6ct/qt6ct.conf changes may never take effect. Please adjust the session environment (or use wrappers) so both Qt5 and Qt6 apps pick up the intended theming.

Suggested change
QT_QPA_PLATFORMTHEME = "qt5ct";
QT_QPA_PLATFORMTHEME = "gtk3";

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hallucination

};

programs.dconf.enable = true;

programs.firefox = {
preferences = {
"widget.gtk.libadwaita-colors.enabled" = false;
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

programs.firefox.preferences doesn't appear to be a valid NixOS option in this repo (other Firefox config uses programs.firefox.policies.Preferences). As written, this is likely to fail evaluation with “option does not exist”. Consider moving this setting under programs.firefox.policies.Preferences (with the expected { Value = ...; Status = ...; } structure) or using the existing browsers module to carry this preference.

Suggested change
preferences = {
"widget.gtk.libadwaita-colors.enabled" = false;
policies.Preferences = {
"widget.gtk.libadwaita-colors.enabled" = {
Value = false;
Status = "default";
};

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

};
};

services = {
desktopManager.cosmic = {
enable = true;
Expand Down Expand Up @@ -224,6 +250,8 @@ in
COSMIC_THEME_FILE="$HOME/.config/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark"
COSMIC_BG_FILE="$HOME/.config/cosmic/com.system76.CosmicBackground/v1/all"
OCF_THEME_FILE="$HOME/remote/.config/ocf/theme"
QT5CT_THEME_FILE="$HOME/.config/qt5ct/qt5ct.conf"
QT6CT_THEME_FILE="$HOME/.config/qt6ct/qt6ct.conf"

sync_theme() {
if [ -f "$COSMIC_THEME_FILE" ]; then
Expand All @@ -233,16 +261,31 @@ in
echo "dark" > "$OCF_THEME_FILE"
sed -i -E 's/bg-(light|dark)/bg-dark/g' $COSMIC_BG_FILE
sed -i 's/theme = "rose-pine-dawn"/theme = "rose-pine"/' $HOME/.config/halloy/config.toml
# QT Themes
sed -i 's/^style=.*/style=Adwaita-Dark/' $QT5CT_THEME_FILE
sed -i 's/^style=.*/style=Adwaita-Dark/' $QT6CT_THEME_FILE
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sed -i invocations use unquoted path variables (e.g. $COSMIC_BG_FILE, $QT5CT_THEME_FILE, $QT6CT_THEME_FILE). This can break on unexpected characters and also produces noisy errors if the target files don't exist (common for existing users who don't have the new skel files). Quote these paths and guard/initialize the qt5ct/qt6ct config files before editing so the theme sync is reliable.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

else
echo "light" > "$OCF_THEME_FILE"
sed -i -E 's/bg-(light|dark)/bg-light/g' $COSMIC_BG_FILE
sed -i 's/theme = "rose-pine"/theme = "rose-pine-dawn"/' $HOME/.config/halloy/config.toml
# QT Themes
sed -i 's/^style=.*/style=Adwaita/' $QT5CT_THEME_FILE
sed -i 's/^style=.*/style=Adwaita/' $QT6CT_THEME_FILE
fi
pkill -USR1 halloy || true
fi
}

# Initial sync
if [ -f "$OCF_THEME_FILE" ]; then
ocf_theme=$(cat "$OCF_THEME_FILE")
mkdir -p "$(dirname "$COSMIC_THEME_FILE")"
if [ "$ocf_theme" = "dark" ]; then
echo "true" > "$COSMIC_THEME_FILE"
elif [ "$ocf_theme" = "light" ]; then
echo "false" > "$COSMIC_THEME_FILE"
fi
fi
sync_theme

# Watch for changes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
true
4 changes: 4 additions & 0 deletions modules/graphical/skel/.config/qt5ct/qt5ct.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[Appearance]
icon_theme=Cosmic
standard_dialogs=gtk3
style=Adwaita-Dark
4 changes: 4 additions & 0 deletions modules/graphical/skel/.config/qt6ct/qt6ct.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[Appearance]
icon_theme=Cosmic
standard_dialogs=gtk3
style=Adwaita-Dark
Loading