Compare commits

...
Sign in to create a new pull request.

40 commits

Author SHA1 Message Date
0xda157
cfe89cabaa ci: don't run checks on github actions
Some checks failed
Label Merge Conflicts / conflicts (push) Has been cancelled
(cherry picked from commit 69f1522ca6)
2025-12-24 20:15:40 +01:00
0xda157
21da33cdd4 flake: add remaining drvs to ci.buildbot
Closes: https://github.com/nix-community/stylix/issues/2056
(cherry picked from commit 7420f203ca)
2025-12-24 20:15:40 +01:00
NAHO
c97b7b37b2 nvf: add empty line to improve readability (#2086)
Link: https://github.com/nix-community/stylix/pull/2086

Reviewed-by: 0xda157 <da157@voidq.com>
(cherry picked from commit 1297baa750)
2025-12-23 19:41:15 +01:00
0xda157
15f6ffc5e5 flake: add nix-community cachix as substituters (#1796)
Link: https://github.com/nix-community/stylix/pull/1796

Reviewed-by: Matt Sturgeon <matt@sturgeon.me.uk>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit 844294a58e)
2025-12-22 23:09:16 -08:00
dependabot[bot]
c51431509b ci: bump korthout/backport-action from 3.4.1 to 4.0.1 (#2094)
Link: https://github.com/nix-community/stylix/pull/2094

Reviewed-by: NAHO <trueNAHO@users.noreply.github.com>
(cherry picked from commit e6829552d4)
2025-12-22 16:55:01 +01:00
Jon Erling Hustadnes
76c65d08c1 qt: improve highlight and text contrast (#2097)
Closes: https://github.com/nix-community/stylix/issues/2079
Link: https://github.com/nix-community/stylix/pull/2097

Reviewed-by: NAHO <trueNAHO@users.noreply.github.com>
(cherry picked from commit c53b4a548a)
2025-12-22 16:53:48 +01:00
ulli-lassance
87d4fd1127 qt: add standardDialogs option (#2090)
Link: https://github.com/nix-community/stylix/pull/2090

Co-authored-by: NAHO <trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <trueNAHO@users.noreply.github.com>
Reviewed-by: Mikilio <official.mikilio@gmail.com>
(cherry picked from commit 626dab1b56)
2025-12-22 16:45:41 +01:00
Viktor Titov
259af48fe5
qt: use qt.qt{5,6}ctSettings options (#2095)
Link: https://github.com/nix-community/stylix/pull/2095

Reviewed-by: NAHO <trueNAHO@users.noreply.github.com>
2025-12-16 16:48:22 +01:00
NAHO
b019ddbaf4 flake: lock base16-fish input to custom patchset (#2092)
Closes: https://github.com/nix-community/stylix/issues/526
Link: https://github.com/nix-community/stylix/pull/2092
Link: https://github.com/tomyun/base16-fish/pull/16

Tested-by: Rafael Alexander Muijsert <rafael@muijsert.org>
Approved-by: Rafael Alexander Muijsert <rafael@muijsert.org>
(cherry picked from commit 9ba353558a)
2025-12-16 16:41:42 +01:00
theunpleasantowl
4e63fa32d8 gnome: only exclude GNOME backgrounds when setting wallpaper (#2088)
Link: https://github.com/nix-community/stylix/pull/2088

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit f6e9fbaeb3)
2025-12-15 13:44:00 +01:00
rwxae
a7fb3944d1 noctalia-shell: init (#2077)
Link: https://github.com/nix-community/stylix/pull/2077

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit dd14de4432)
2025-12-11 19:37:37 +01:00
NAHO
93c8a26eee stylix/mk-target: rename normalizeConfig function to normalize (#2081)
Rename the normalizeConfig function to normalize to generalize the name
beyond the specific config and options module arguments, following
commit 1272e6858e ("stylix/mk-target: rename mkConfig function to
callModule").

Fixes: 6153df31ce ("stylix/mk-target: normalize options argument identically to config")
Link: https://github.com/nix-community/stylix/pull/2081
(cherry picked from commit cb6bbed75e)
2025-12-10 19:14:48 +01:00
NAHO
93f0ee1c34 stylix/mk-target: normalize options argument identically to config
Normalize the options argument identically to config to provide a
coherent and extensible options interface.

(cherry picked from commit 6153df31ce)
2025-12-10 07:14:37 -10:00
NAHO
eaeb3d6b59 stylix/mk-target: generate options for configuring safeguarded arguments
Generate targets.${target}.${argument}.enable and
targets.${target}.${argument}.override options for disabling and
configuring safeguarded arguments on a target level.

(cherry picked from commit 953c3fb01e)
2025-12-10 07:14:37 -10:00
NAHO
707059378b treewide: optionalize mkTarget's humanName and name arguments
Optionalize mkTarget's 'humanName' and 'name' arguments by inferring
'humanName' from the 'name' attribute in the /modules/<MODULE>/meta.nix
file, and 'name' from the /modules/<NAME>/ directory name.

Inferring the 'humanName' and 'name' arguments ensures consistency and
reduces boilerplate.

The 'humanName' and 'name' arguments are optionalized instead of removed
because complex modules generating target derivations need to
distinguish between them.

Closes: https://github.com/nix-community/stylix/issues/1661
(cherry picked from commit dfc859f54d)
2025-12-10 07:14:37 -10:00
NAHO
3fb65013f7 treewide: rename mkTarget's configElements and extraOptions options
Rename mkTarget's 'configElements' argument to 'config' and
'extraOptions' to 'options' to provide a more transparent interface with
the underlying Nixpkgs module system.

(cherry picked from commit 16df6b8448)
2025-12-10 07:14:37 -10:00
NAHO
e87a003de1 stylix/mk-target: rename generalConfig argument to unconditionalConfig
Rename the generalConfig argument to unconditionalConfig to better imply
the intentional lack of safeguarding.

(cherry picked from commit 76d05fd9c0)
2025-12-10 07:14:37 -10:00
NAHO
cf17ca6259 stylix/mk-target: polish implementation and improve error reporting
Polish the mkTarget implementation to improve error reporting and
simplify future enhancements.

Configuration elements can now recursively resolve to paths.

(cherry picked from commit f7b554dea9)
2025-12-10 07:14:37 -10:00
NAHO
66576c1e09 stylix/mk-target: rename mkConfig function to callModule
Rename the mkConfig function to callModule to generalize the name beyond
the specific config and options module arguments.

Fixes: dea0337e0b ("stylix: restrict access to config while using mkTarget (#1368)")
(cherry picked from commit 1272e6858e)
2025-12-10 07:14:37 -10:00
NAHO
4ec8181cd8 stylix/mk-target: document imports argument
Fixes: 093087e969 ("stylix: add imports to mkTarget (#1363)")
(cherry picked from commit 9afd8230cd)
2025-12-10 07:14:37 -10:00
NAHO
e34f85f1f1 stylix/mk-target: sort optional arguments
(cherry picked from commit 25354cc88b)
2025-12-10 07:14:37 -10:00
NAHO
2f1565508a modules: flatten single-attribute set declarations
(cherry picked from commit a4ffbc20ea)
2025-12-10 07:14:37 -10:00
0xda157
84d9d55885 fcitx5: add da157 as maintainer (#2066)
Link: https://github.com/nix-community/stylix/pull/2066

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit bd00e01aab)
2025-12-06 13:51:36 -10:00
NAHO
b1c99fd952 ci: deprecate 25.05 branch (#2051)
Link: https://github.com/nix-community/stylix/pull/2051
(cherry picked from commit c9e89d4478)
2025-12-05 14:53:34 -10:00
NAHO
be22e21cee ci: update-flake: match PR title to commit title (#2043)
Link: https://github.com/nix-community/stylix/pull/2043
Fixes: b01dbcdc08 ("ci: update-flake: use one atomic commit")

Reviewed-by: 0xda157 <da157@voidq.com>
(cherry picked from commit 794b6e1fa7)
2025-12-05 14:53:34 -10:00
NAHO
b014261858 ci: update-flake: fix invalid 'gh pr edit' label flag (#2038)
Closes: https://github.com/nix-community/stylix/issues/2037
(cherry picked from commit 8a096ccec8)
2025-12-05 14:53:34 -10:00
NAHO
95b692c874 ci: update-flake: parallelize updates to minimize version drift
(cherry picked from commit a87d4cb376)
2025-12-05 14:53:34 -10:00
NAHO
5e392c36d2 ci: update-flake: use one atomic commit
Use one atomic commit to simplify the commit history and prevent the
previous commits from individually breaking CI.

(cherry picked from commit b01dbcdc08)
2025-12-05 14:53:34 -10:00
Mikilio
d9b3c18cb3 qt: fix colorscheme not applying sometimes
(cherry picked from commit d5bbace3ff)
2025-12-05 14:53:34 -10:00
Mikilio
ec6f4a973c qt: update template in accordance with reference
(cherry picked from commit a8bb9ee2fa)
2025-12-05 14:53:34 -10:00
0xda157
c3e7ce08ae treewide: use strict mode for nixfmt (#2041)
Link: https://github.com/nix-community/stylix/pull/2041
Link: https://github.com/nix-community/stylix/pull/1976#discussion_r2539186937

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit 3a332459f4)
2025-12-05 14:52:41 -10:00
Louis Dalibard
62a3fa671e fcitx5: conform to stylix styling guidelines (#2063)
Link: https://github.com/nix-community/stylix/pull/2063
Closes: https://github.com/nix-community/stylix/issues/2062
(cherry picked from commit 46440f1bc8)
2025-12-05 14:03:35 -10:00
NAHO
6f3b50c8fa flake/dev/flake: override vicinae's system input (#2057)
Link: https://github.com/nix-community/stylix/pull/2057

Reviewed-by: 0xda157 <da157@voidq.com>
(cherry picked from commit 4b9e0e7ba3)
2025-12-04 09:19:53 +01:00
stylix-automation[bot]
cfde343ff3
flake: update all inputs (#2034)
Link: https://github.com/nix-community/stylix/pull/2034

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-12-03 22:04:11 +01:00
0xda157
228616717d doc: recommend 25.11 as stable branch (#2025)
Link: https://github.com/nix-community/stylix/pull/2025

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit ddc49fd564)
2025-12-03 02:34:13 -10:00
NAHO
a1e741dbce stylix/testbed/modules/application: add notification progress bar (#2021)
Link: https://github.com/nix-community/stylix/pull/2021

Reviewed-by: 0xda157 <da157@voidq.com>
(cherry picked from commit 71054adbc3)
2025-12-02 18:03:37 +01:00
0xda157
6d5708ee0c
flake: use 25.11 branch of dependencies (#2026)
Link: https://github.com/nix-community/stylix/pull/2026

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-12-02 17:40:02 +01:00
chillcicada
c9760a6a2b gdu: properly rename module and option names (#2044)
Fixes: b9b0501839 ("gdu: init (#1995)")
Link: https://github.com/nix-community/stylix/pull/2044

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit 961e2f02af)
2025-12-01 15:45:18 +01:00
0xda157
1fdde45cb0 ci: update dependencies on 25.11 branch (#2027)
Link: https://github.com/nix-community/stylix/pull/2027

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit 70c444a10d)
2025-11-30 02:09:05 +01:00
Kilian Mio
9bf8725a3d regreet: explicitly apply GTK theme (#1964)
Explicitly apply the GTK theme, as global GTK theming is scoped to
individual derivations.

Closes: https://github.com/nix-community/stylix/issues/690

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
(cherry picked from commit 687a8c1bf2)
2025-11-26 22:46:43 +01:00
194 changed files with 961 additions and 1171 deletions

View file

@ -6,7 +6,7 @@ end_of_line = lf
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
charset = unset
[*.{diff,patch}]
end_of_line = unset

View file

@ -7,6 +7,6 @@ updates:
target-branch: "master"
schedule:
interval: daily
labels: ["topic: dependencies", "backport: release-25.05"]
labels: ["topic: dependencies", "backport: release-25.11"]
commit-message:
prefix: "ci"

View file

@ -45,7 +45,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}
token: ${{ steps.app-token.outputs.token }}
- uses: korthout/backport-action@v3.4.1
- uses: korthout/backport-action@v4.0.1
id: backport
with:
github_token: ${{ steps.app-token.outputs.token }}

View file

@ -1,60 +0,0 @@
---
name: Check
on:
push:
branches:
- master
- release-**
pull_request:
permissions:
contents: read
defaults:
run:
shell: bash
jobs:
check:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runs-on }}
# https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job#choosing-github-hosted-runners
strategy:
matrix:
include:
- name: aarch64-linux
runs-on: ubuntu-24.04-arm
- name: aarch64-darwin
runs-on: macos-15
- name: x86_64-linux
runs-on: ubuntu-24.04
- name: x86_64-darwin
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
# TODO: Lock this Action to a release tag once commit [1] ("fix: relocate
# TMPDIR to /mnt to improve Nix installer compatibility") is part of a
# release, resolving [2] ("does not work with cachix install nix action").
#
# [1]: https://github.com/wimpysworld/nothing-but-nix/pull/25
# [2]: https://github.com/wimpysworld/nothing-but-nix/issues/24
- uses: wimpysworld/nothing-but-nix@10c936d9e46521bf923f75458e0cbd4fa309300d # yamllint disable-line rule:line-length
if: runner.os == 'Linux'
with:
hatchet-protocol: rampage
- uses: cachix/install-nix-action@v31
- uses: cachix/cachix-action@v16
with:
name: nix-community
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
continue-on-error: true
- run: nix develop --command stylix-check --no-nom

View file

@ -16,7 +16,7 @@ jobs:
if: vars.APP_ID
strategy:
matrix:
branch: [master, release-25.05]
branch: [master, release-25.11]
steps:
- id: generate-token
uses: actions/create-github-app-token@v2
@ -57,30 +57,23 @@ jobs:
- name: update lock files
run: |
nix flake update \
--commit-lock-file \
--option commit-lock-file-summary "flake: update public inputs"
nix flake update &
nix flake update --flake ./flake/dev &
nix flake update \
--commit-lock-file \
--flake ./flake/dev \
--option commit-lock-file-summary "flake: update dev inputs"
wait
git add {,flake/dev/}flake.lock
# The nixpkgs maintainers may have changed, so keep all-maintainers
# in sync
if nix run .#all-maintainers; then
git add generated/all-maintainers.nix
if
! git commit --message "stylix: update all-maintainers list"
then
echo "::debug::generated/all-maintainers.nix has no changes"
fi
else
echo "::error::failed to update generated/all-maintainers.nix"
fi
git commit --message "flake: update all inputs"
- name: create pull request
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
@ -88,7 +81,7 @@ jobs:
body: "This is an automated update triggered by the [workflow run #${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})." # yamllint disable-line rule:line-length
label: "topic: dependencies"
pr_branch: update_flake_lock_action_${{ matrix.branch }}
title: "${{ startsWith(matrix.branch, 'release') && format('[{0}] ', matrix.branch) || '' }}flake: update public and dev inputs" # yamllint disable-line rule:line-length
title: "${{ startsWith(matrix.branch, 'release') && format('[{0}] ', matrix.branch) || '' }}flake: update all inputs" # yamllint disable-line rule:line-length
run: |
git switch --create "$pr_branch"
git push origin "$pr_branch" --force --set-upstream
@ -104,8 +97,8 @@ jobs:
if ((pr_count)); then
gh pr edit \
--add-label "$label" \
--body "$body" \
--label "$label" \
--title "$title"
else

View file

@ -36,8 +36,8 @@ Stylix release. For example:
```nix
{
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
stylix.url = "github:nix-community/stylix/release-25.05";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
stylix.url = "github:nix-community/stylix/release-25.11";
}
```
@ -190,9 +190,9 @@ matching Stylix release. For example:
```nix
{
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager.url = "github:nix-community/home-manager/release-25.05";
stylix.url = "github:nix-community/stylix/release-25.05";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
home-manager.url = "github:nix-community/home-manager/release-25.11";
stylix.url = "github:nix-community/stylix/release-25.11";
}
```

View file

@ -49,10 +49,7 @@ documentation for more details):
```nix
{ config, lib, mkTarget ... }:
mkTarget {
name = "«name»";
humanName = "«human readable name»";
configElements =
config =
{ colors }:
{
programs.«name».theme.background = colors.base00;

64
flake.lock generated
View file

@ -21,28 +21,28 @@
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"lastModified": 1765809053,
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1752979451,
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
"lastModified": 1760703920,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
"type": "github"
},
"original": {
@ -71,11 +71,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1758112371,
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
"lastModified": 1764724327,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
"type": "github"
},
"original": {
@ -91,11 +91,11 @@
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
@ -124,11 +124,11 @@
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1762869044,
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
"lastModified": 1764524476,
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
"type": "gitlab"
},
"original": {
@ -141,16 +141,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1762977756,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"lastModified": 1764522689,
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
@ -165,11 +165,11 @@
]
},
"locked": {
"lastModified": 1758998580,
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
"lastModified": 1764773531,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
"type": "github"
},
"original": {
@ -248,11 +248,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1757716333,
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
"lastModified": 1763914658,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
"type": "github"
},
"original": {
@ -264,11 +264,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1757811970,
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
"lastModified": 1764465359,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
"type": "github"
},
"original": {
@ -280,11 +280,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1757811247,
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
"lastModified": 1764464512,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
"type": "github"
},
"original": {

View file

@ -2,7 +2,7 @@
description = "Theming framework for NixOS, Home Manager, nix-darwin, and Nix-on-Droid";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
flake-parts = {
url = "github:hercules-ci/flake-parts";
@ -13,16 +13,13 @@
# keep-sorted start block=yes newline_separated=yes
base16-fish = {
# Lock the base16-fish input to a custom patch [2] ("Make autosuggestion
# and comment base03"), since it is currently impossible to apply patches
# Lock the base16-fish input to a custom patchset that cherry-picks
# pending patches [2], since it is currently impossible to apply patches
# to flake inputs [1] ("Support flake references to patches").
#
# Once this single-patch approach no longer scales, the repository should
# be properly forked, if [2] has still not been merged.
#
# [1]: https://github.com/NixOS/nix/issues/3920
# [2]: https://github.com/tomyun/base16-fish/pull/12
url = "github:tomyun/base16-fish/23ae20a0093dca0d7b39d76ba2401af0ccf9c561";
# [2]: https://github.com/tomyun/base16-fish/pull/16
url = "github:tomyun/base16-fish/86cbea4dca62e08fb7fd83a70e96472f92574782";
flake = false;
};
@ -99,6 +96,13 @@
# keep-sorted end
};
nixConfig = {
extra-substituters = [ "https://nix-community.cachix.org" ];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
outputs =
{ flake-parts, systems, ... }@inputs:
flake-parts.lib.mkFlake { inherit inputs; } {

View file

@ -15,10 +15,7 @@
extraInputsFlake = ./dev;
};
partitionedAttrs = lib.genAttrs [
"checks"
"ci"
"devShells"
"formatter"
] (_: "dev");
partitionedAttrs = lib.genAttrs [ "checks" "ci" "devShells" "formatter" ] (
_: "dev"
);
}

View file

@ -1,12 +1,6 @@
{ lib, self, ... }:
{
lib,
self,
...
}:
{
imports = [
./per-system-option.nix
];
imports = [ ./per-system-option.nix ];
# NOTE: the `flake` submodule has a `lazyAttrsOf` freeform type.
#

View file

@ -39,6 +39,8 @@
'';
in
{
ci.buildbot = { inherit (config) devShells; };
devShells = {
default = pkgs.mkShell {
# Install git-hooks when activating the shell

115
flake/dev/flake.lock generated
View file

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
@ -22,16 +22,16 @@
},
"dev-nixpkgs": {
"locked": {
"lastModified": 1762977756,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"lastModified": 1764522689,
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
@ -53,11 +53,11 @@
},
"flake-compat": {
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"lastModified": 1764712249,
"narHash": "sha256-DhsrZsMebdvpjZC2EzPsqiLGI84tD7kZz7zc6tTCmqg=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"rev": "3b279e4317ccfa4865356387935310531357d919",
"type": "github"
},
"original": {
@ -66,26 +66,6 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"dev-systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
@ -97,11 +77,11 @@
]
},
"locked": {
"lastModified": 1758108966,
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"lastModified": 1763988335,
"narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce",
"type": "github"
},
"original": {
@ -117,26 +97,27 @@
]
},
"locked": {
"lastModified": 1760809591,
"narHash": "sha256-OxGcFcQdfOK8veZkPdQuqXIotFYiy4sBQB58dMNLeHY=",
"lastModified": 1765859973,
"narHash": "sha256-LN5O0h9GSgcDE/sz4+sLS3CbQALru1x4lh9hrxpeHwI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "870883ba11ba1c84f756c0c1f9fa74cdb2a16c1e",
"rev": "7df150f0d3857cf68dae443813b27acfb201b2d8",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1756659871,
"narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
"lastModified": 1758834834,
"narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
"rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001",
"type": "github"
},
"original": {
@ -159,19 +140,40 @@
]
},
"locked": {
"lastModified": 1763393971,
"narHash": "sha256-FhgZD8pk3VE2SL0g4nCYKF0L6IO3uL110tfrBaZkdG0=",
"lastModified": 1764755396,
"narHash": "sha256-f6UrlGdwg+TIxxyDjeq1M7WGNZH/vpbOm0yzPgkMy9c=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "7a30e6cf259d8db84aefc626058c074bd995d482",
"rev": "64d9e2616f4ee2acee380d61ccf1f3d610e7e969",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "nixos-25.11",
"repo": "nixvim",
"type": "github"
}
},
"noctalia-shell": {
"inputs": {
"nixpkgs": [
"dev-nixpkgs"
]
},
"locked": {
"lastModified": 1765201259,
"narHash": "sha256-6btxUos1OY0LSk9hBVnLRcklLGBKCA2SCq9WkoLa91E=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "c2b245703021e65a761a7de06b3b6b91d609a6c5",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": [],
@ -187,11 +189,11 @@
]
},
"locked": {
"lastModified": 1758271661,
"narHash": "sha256-ENqd2/33uP5vB44ClDjjAV+J78oF8q1er4QUZuT8Z7g=",
"lastModified": 1762622004,
"narHash": "sha256-NpzzgaoMK8aRHnndHWbYNKLcZN0r1y6icCoJvGoBsoE=",
"owner": "NotAShelf",
"repo": "nvf",
"rev": "b7571df4d6e9ac08506a738ddceeec0b141751b0",
"rev": "09470524a214ed26633ddc2b6ec0c9bf31a8b909",
"type": "github"
},
"original": {
@ -209,6 +211,7 @@
"git-hooks": "git-hooks",
"home-manager": "home-manager",
"nixvim": "nixvim",
"noctalia-shell": "noctalia-shell",
"nvf": "nvf",
"spicetify-nix": "spicetify-nix",
"treefmt-nix": "treefmt-nix",
@ -226,11 +229,11 @@
]
},
"locked": {
"lastModified": 1758584568,
"narHash": "sha256-FDxTheW6ynpbro/8eTZHhAY7J+HOf0jXeXq3jrJDcS8=",
"lastModified": 1764698597,
"narHash": "sha256-4f0y9Fo3AChngd/qRQ7wbcy6FH33NFZbyFXn7IeUI14=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "9e9e48ca16628bf09a02bc5449d4b0761e15eebd",
"rev": "1da6ebbbcf0301ff773e9c43bdd4c051af9523f7",
"type": "github"
},
"original": {
@ -261,17 +264,19 @@
},
"vicinae": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"dev-nixpkgs"
],
"systems": [
"dev-systems"
]
},
"locked": {
"lastModified": 1763505293,
"narHash": "sha256-huleUPkt0iZJZy4e/KPhcHK4ueeqaqiMUu7Ft6NVDFU=",
"lastModified": 1764768018,
"narHash": "sha256-wgQUCbnfUPBWvhMnFUcwABH4qmNE8cxjFc+40u4ReB4=",
"owner": "vicinaehq",
"repo": "vicinae",
"rev": "e600ffc4ad1e87f3389327adfab8bb8d2f34261e",
"rev": "c5648e0a0727dd99ff2e2e18c683474881987641",
"type": "github"
},
"original": {
@ -290,11 +295,11 @@
]
},
"locked": {
"lastModified": 1759033338,
"narHash": "sha256-03GJ6F5jXuxEgazHE2A3WB/kEyHO/rF1VPA9qYodq0E=",
"lastModified": 1764736168,
"narHash": "sha256-CQcj/oWKH4zN8Xkc1RglX+uOJTW1fwNWvMQWRXRlEys=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "9f3b1a6f32771e47d1bab71fa38f4d74873540b3",
"rev": "df63ce4f706567e6efa083ba63d5e7792bf70ffa",
"type": "github"
},
"original": {

View file

@ -120,7 +120,7 @@
#
# [1]: https://github.com/NixOS/nix/blob/d4f67fd46dfe2bc950bdfa14273f87b8a4c32e47/doc/manual/source/release-notes/rl-2.26.md?plain=1#L3-L11
inputs = {
dev-nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
dev-nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
dev-flake-parts = {
url = "github:hercules-ci/flake-parts";
@ -142,12 +142,12 @@
};
home-manager = {
url = "github:nix-community/home-manager";
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
url = "github:nix-community/nixvim/nixos-25.11";
inputs = {
flake-parts.follows = "dev-flake-parts";
nixpkgs.follows = "dev-nixpkgs";
@ -156,6 +156,11 @@
};
};
noctalia-shell = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
nvf = {
url = "github:NotAShelf/nvf";
inputs = {
@ -183,7 +188,7 @@
url = "github:vicinaehq/vicinae";
inputs = {
nixpkgs.follows = "dev-nixpkgs";
flake-utils.inputs.systems.follows = "dev-systems";
systems.follows = "dev-systems";
};
};

View file

@ -12,9 +12,7 @@
# Testbeds are virtual machines based on NixOS, therefore they are
# only available for Linux systems.
testbeds = lib.mkIf pkgs.stdenv.hostPlatform.isLinux (
import ../../stylix/testbed {
inherit pkgs inputs lib;
}
import ../../stylix/testbed { inherit pkgs inputs lib; }
);
ci.buildbot = {

View file

@ -1,12 +1,12 @@
{ inputs, ... }:
{
imports = [
inputs.git-hooks.flakeModule
];
imports = [ inputs.git-hooks.flakeModule ];
perSystem =
{ config, ... }:
{
ci.buildbot = { inherit (config.checks) pre-commit; };
pre-commit = {
check.enable = true;

View file

@ -1,41 +1,44 @@
{ inputs, ... }:
{
perSystem =
{ lib, pkgs, ... }:
{
checks = lib.mkMerge (
map
(
input:
let
name = "${input}-and-dev-${input}-version-consistency";
in
{
${name} =
let
dev = inputs."dev-${input}".narHash;
public = inputs.${input}.narHash;
in
pkgs.runCommand name { } ''
if [ "${public}" != "${dev}" ]; then
printf \
'inconsistent ${input} (%s) and dev-${input} (%s) versions\n' \
"${public}" \
"${dev}" \
>&2
lib,
pkgs,
system,
...
}:
let
checks = lib.genAttrs' [ "flake-parts" "nixpkgs" "systems" ] (
input:
let
name = "${input}-and-dev-${input}-version-consistency";
in
lib.nameValuePair name (
let
dev = inputs."dev-${input}".narHash;
public = inputs.${input}.narHash;
in
pkgs.runCommand name { } ''
if [ "${public}" != "${dev}" ]; then
printf \
'inconsistent ${input} (%s) and dev-${input} (%s) versions\n' \
"${public}" \
"${dev}" \
>&2
exit 1
fi
exit 1
fi
mkdir "$out"
'';
}
)
[
"flake-parts"
"nixpkgs"
"systems"
]
mkdir "$out"
''
)
);
in
{
inherit checks;
ci.buildbot = lib.mkIf (system == "x86_64-linux") {
public-and-dev-version-consistency = pkgs.linkFarm "public-and-dev-version-consistency" checks;
};
};
}

View file

@ -28,6 +28,7 @@
nixfmt = {
enable = true;
width = 80;
strict = true;
};
ruff-format = {
enable = true;

View file

@ -7,9 +7,7 @@
apps.doc.program = config.packages.serve-docs;
packages = {
doc = pkgs.callPackage ../doc {
inherit (inputs) self;
};
doc = pkgs.callPackage ../doc { inherit (inputs) self; };
serve-docs = pkgs.callPackage ../doc/server.nix {
inherit (config.packages) doc;
};

View file

@ -16,9 +16,7 @@
{ pkgs, system, ... }:
lib.optionalAttrs (partitionStack == [ ]) {
apps = {
inherit (config.partitions.dev.module.flake.apps.${system})
all-maintainers
;
inherit (config.partitions.dev.module.flake.apps.${system}) all-maintainers;
};
packages = lib.mkMerge [
{

View file

@ -52,9 +52,7 @@
github = "TheColorman";
githubId = 18369995;
keys = [
{
fingerprint = "3D8C A43C FBA2 5D28 0196 19F0 AB11 0475 B417 291D";
}
{ fingerprint = "3D8C A43C FBA2 5D28 0196 19F0 AB11 0475 B417 291D"; }
];
name = "colorman";
};
@ -81,9 +79,7 @@
github = "brckd";
githubId = 92804487;
keys = [
{
fingerprint = "58A2 81E6 2FBD 6E4E 664C B603 7B4D 2A02 BB0E C28C";
}
{ fingerprint = "58A2 81E6 2FBD 6E4E 664C B603 7B4D 2A02 BB0E C28C"; }
];
name = "bricked";
};
@ -104,9 +100,7 @@
github = "danth";
githubId = 28959268;
keys = [
{
fingerprint = "4779 D1D5 3C97 2EAE 34A5 ED3D D8AF C4BF 0567 0F9D";
}
{ fingerprint = "4779 D1D5 3C97 2EAE 34A5 ED3D D8AF C4BF 0567 0F9D"; }
];
matrix = "@danth:danth.me";
name = "Daniel Thwaites";
@ -146,9 +140,7 @@
github = "make-42";
githubId = 17462236;
keys = [
{
fingerprint = "36BC 916D DD4E B1EE EE82 4BBF DC95 900F 6DA7 9992";
}
{ fingerprint = "36BC 916D DD4E B1EE EE82 4BBF DC95 900F 6DA7 9992"; }
];
matrix = "@ontake:matrix.ontake.dev";
name = "Louis Dalibard";
@ -158,9 +150,7 @@
github = "mateusauler";
githubId = 24767687;
keys = [
{
fingerprint = "A09D C093 3C37 4BFC 2B5A 269F 80A5 D62F 6EB7 D9F0";
}
{ fingerprint = "A09D C093 3C37 4BFC 2B5A 269F 80A5 D62F 6EB7 D9F0"; }
];
name = "Mateus Auler";
};
@ -181,9 +171,7 @@
github = "nukdokplex";
githubId = 25458915;
keys = [
{
fingerprint = "7CE2 4C42 942D 58EA 99F6 F00A A47E 7374 3EF6 FCC4";
}
{ fingerprint = "7CE2 4C42 942D 58EA 99F6 F00A A47E 7374 3EF6 FCC4"; }
];
name = "Viktor Titov";
};
@ -204,9 +192,7 @@
github = "panchoh";
githubId = 471059;
keys = [
{
fingerprint = "4430 F502 8B19 FAF4 A40E C4E8 11E0 447D 4ABB A7D0";
}
{ fingerprint = "4430 F502 8B19 FAF4 A40E C4E8 11E0 447D 4ABB A7D0"; }
];
matrix = "@panchoh:matrix.org";
name = "pancho horrillo";
@ -217,6 +203,12 @@
githubId = 45952970;
name = "repparw";
};
rwxae = {
email = "wardxela@gmail.com";
github = "rwxae";
githubId = 63157919;
name = "Alexander";
};
skiletro = {
email = "git@skilet.ro";
github = "skiletro";
@ -233,9 +225,7 @@
github = "trueNAHO";
githubId = 90870942;
keys = [
{
fingerprint = "5FC6 088A FB1A 609D 4532 F919 0C1C 177B 3B64 68E0";
}
{ fingerprint = "5FC6 088A FB1A 609D 4532 F919 0C1C 177B 3B64 68E0"; }
];
name = "Noah Pierre Biewesch";
};

View file

@ -3,9 +3,7 @@
# - `man 5 alacritty`
{ mkTarget, ... }:
mkTarget {
name = "alacritty";
humanName = "Alacritty";
configElements = [
config = [
(
{ colors }:
{

View file

@ -5,10 +5,7 @@
...
}:
mkTarget {
name = "anki";
humanName = "Anki";
configElements =
config =
{ colors }:
{
programs.anki.addons = lib.singleton (

View file

@ -2,7 +2,5 @@
{
stylix.testbed.ui.command.text = "anki";
home-manager.sharedModules = lib.singleton {
programs.anki.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.anki.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "ashell";
humanName = "Ashell";
configElements = [
config = [
(
{ colors }:
{

View file

@ -5,7 +5,5 @@
command.text = "ashell";
};
home-manager.sharedModules = lib.singleton {
programs.ashell.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.ashell.enable = true; };
}

View file

@ -1,10 +1,7 @@
{ mkTarget, ... }:
mkTarget {
name = "avizo";
humanName = "Avizo";
# Referenced https://github.com/stacyharper/base16-mako
configElements =
config =
{ colors, opacity }:
{
services.avizo = {

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "bat";
humanName = "Bat";
configElements =
config =
{ colors }:
{
programs.bat = {

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "bemenu";
humanName = "bemenu";
extraOptions =
options =
{ fonts }:
{
fontSize = lib.mkOption {
@ -24,7 +21,7 @@ mkTarget {
};
};
configElements = [
config = [
(
{ cfg, fonts }:
{

View file

@ -1,19 +1,12 @@
{
mkTarget,
lib,
...
}:
{ mkTarget, lib, ... }:
mkTarget {
name = "blender";
humanName = "Blender";
extraOptions.themeBody = lib.mkOption {
options.themeBody = lib.mkOption {
type = lib.types.lines;
default = "";
internal = true;
};
configElements = [
config = [
./color-theme.nix
./font-theme.nix
(

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "bspwm";
humanName = "bspwm";
configElements =
config =
{ colors }:
{
xsession.windowManager.bspwm.settings = with colors.withHashtag; {

View file

@ -1,13 +1,6 @@
{
mkTarget,
lib,
...
}:
{ mkTarget, lib, ... }:
mkTarget {
name = "btop";
humanName = "btop";
configElements = [
config = [
(
{ opacity }:
{

View file

@ -5,7 +5,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
programs.btop.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.btop.enable = true; };
}

View file

@ -1,13 +1,8 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "cava";
humanName = "CAVA";
options.rainbow.enable = lib.mkEnableOption "rainbow gradient theming";
extraOptions = {
rainbow.enable = lib.mkEnableOption "rainbow gradient theming";
};
configElements =
config =
{ cfg, colors }:
let
mkGradient =

View file

@ -8,7 +8,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
programs.cava.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.cava.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "cavalier";
humanName = "Cavalier";
configElements =
config =
{ colors }:
{
programs.cavalier.settings.general = {

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "chromium";
humanName = "Chromium, Google Chrome and Brave";
configElements =
config =
{ colors }:
{
programs.chromium = {

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "console";
humanName = "the Nix-on-Droid console";
configElements =
config =
{ colors }:
{
terminal.colors = with colors.withHashtag; rec {

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "console";
humanName = "the Linux kernel console";
configElements =
config =
{ colors }:
{
console.colors = with colors; [

View file

@ -1,7 +1,5 @@
name: [
{
stylix.targets.${name}.themeBody = import ./theme-header.nix;
}
{ stylix.targets.${name}.themeBody = import ./theme-header.nix; }
(
{ fonts }:
{

View file

@ -1,8 +1,4 @@
{
mkTarget,
lib,
...
}:
{ mkTarget, lib, ... }:
{
imports = map (module: lib.modules.importApply module mkTarget) [
./nixcord.nix

View file

@ -10,7 +10,7 @@ mkTarget {
name = "nixcord";
humanName = "Nixcord";
extraOptions = {
options = {
themeBody = lib.mkOption {
type = lib.types.lines;
default = "";
@ -23,7 +23,7 @@ mkTarget {
};
};
configElements = (import ./common/theme-elements.nix "nixcord") ++ [
config = (import ./common/theme-elements.nix "nixcord") ++ [
(
{ cfg }:
let
@ -53,9 +53,7 @@ mkTarget {
writePath "Equicord"
))
(lib.mkIf nixcord.equibop.enable (writePath "equibop"))
{
programs.nixcord.config.enabledThemes = [ "stylix.theme.css" ];
}
{ programs.nixcord.config.enabledThemes = [ "stylix.theme.css" ]; }
]
)
)

View file

@ -1,8 +1,6 @@
{ lib, pkgs, ... }:
let
package = pkgs.discord.override {
withVencord = true;
};
package = pkgs.discord.override { withVencord = true; };
in
{
stylix.testbed = {
@ -17,8 +15,5 @@ in
environment.systemPackages = [ package ];
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"discord"
];
pkg: builtins.elem (lib.getName pkg) [ "discord" ];
}

View file

@ -4,7 +4,7 @@ mkTarget {
name = "vencord";
humanName = "Vencord";
extraOptions = {
options = {
themeBody = lib.mkOption {
type = lib.types.lines;
default = "";
@ -17,7 +17,7 @@ mkTarget {
};
};
configElements = (import ./common/theme-elements.nix "vencord") ++ [
config = (import ./common/theme-elements.nix "vencord") ++ [
(
{ cfg }:
lib.mkIf

View file

@ -4,13 +4,13 @@ mkTarget {
name = "vesktop";
humanName = "Vesktop";
extraOptions.themeBody = lib.mkOption {
options.themeBody = lib.mkOption {
type = lib.types.lines;
default = "";
internal = true;
};
configElements = (import ./common/theme-elements.nix "vesktop") ++ [
config = (import ./common/theme-elements.nix "vesktop") ++ [
(
{ cfg }:
lib.mkIf (cfg.themeBody != (import ./common/theme-header.nix)) {

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "dunst";
humanName = "Dunst";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -5,7 +5,5 @@
sendNotifications = true;
};
home-manager.sharedModules = lib.singleton {
services.dunst.enable = true;
};
home-manager.sharedModules = lib.singleton { services.dunst.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, pkgs, ... }:
mkTarget {
name = "emacs";
humanName = "Emacs";
configElements = [
config = [
(
{ opacity }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "eog";
humanName = "Eye of GNOME Image Viewer";
configElements =
config =
{ colors }:
{
dconf.settings."org/gnome/eog/view" = {

View file

@ -79,5 +79,5 @@
sodipodi:type="rect"
d="m 25.000001,10.000001 h 10 a 15,15 45 0 1 15,15 v 10 a 15,15 135 0 1 -15,15 h -10 a 15,15 45 0 1 -15,-15 v -10 a 15,15 135 0 1 15,-15 z"
inkscape:path-effect="#path-effect998"
style="fill:#{{base04-hex}};fill-opacity:1" />
style="fill:#{{base02-hex}};fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Before After
Before After

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "fcitx5";
humanName = "fcitx5";
configElements = [
config = [
(
{ fonts }:
{
@ -34,9 +31,7 @@ mkTarget {
template = ./panel.svg.mustache;
extension = ".svg";
};
theme = import ./template.nix {
colors = colors.withHashtag;
};
theme = import ./template.nix { colors = colors.withHashtag; };
};
};
}

View file

@ -2,5 +2,8 @@
{
name = "Fcitx 5";
homepage = "https://fcitx-im.org/wiki/Fcitx_5";
maintainers = [ lib.maintainers.make-42 ];
maintainers = with lib.maintainers; [
da157
make-42
];
}

View file

@ -12,7 +12,7 @@ with colors;
HighlightCandidateColor = base06;
EnableBlur = false;
FullWidthHighlight = true;
HighlightColor = base04;
HighlightColor = base02;
HighlightBackgroundColor = base0E;
};
"InputPanel/BlurMargin" = {
@ -83,16 +83,14 @@ with colors;
Top = 6;
Bottom = 7;
};
"InputPanel/PrevPage" = {
};
"InputPanel/PrevPage" = { };
"InputPanel/PrevPage/ClickMargin" = {
Left = 5;
Right = 5;
Top = 4;
Bottom = 4;
};
"InputPanel/NextPage" = {
};
"InputPanel/NextPage" = { };
"InputPanel/NextPage/ClickMargin" = {
Left = 5;
Right = 5;

View file

@ -0,0 +1,14 @@
{ pkgs, lib, ... }:
{
stylix.testbed.ui.command.text = "fcitx5-config-qt";
home-manager.sharedModules = lib.singleton {
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
};
}

View file

@ -6,8 +6,6 @@
...
}:
mkTarget {
name = "feh";
humanName = "the desktop background using Feh";
autoEnable =
with config.xsession.windowManager;
bspwm.enable
@ -24,7 +22,7 @@ mkTarget {
|| xmonad.enable
'';
configElements =
config =
{ imageScalingMode, image }:
{
xsession.initExtra =

View file

@ -6,8 +6,6 @@
...
}:
mkTarget {
name = "feh";
humanName = "the desktop background using Feh";
autoEnable =
with config.services.xserver.windowManager;
xmonad.enable || i3.enable;
@ -16,7 +14,7 @@ mkTarget {
xmonad.enable || i3.enable
'';
configElements =
config =
{ image, imageScalingMode }:
{
services.xserver.displayManager.sessionCommands =

View file

@ -12,9 +12,9 @@
...
}:
mkTarget {
inherit name humanName;
inherit humanName name;
extraOptions = {
options = {
profileNames = lib.mkOption {
description = "The ${humanName} profile names to apply styling on.";
type = lib.types.listOf lib.types.str;
@ -26,7 +26,7 @@ mkTarget {
firefoxGnomeTheme.enable = lib.mkEnableOption "[Firefox GNOME theme](https://github.com/rafaelmardojai/firefox-gnome-theme) on ${humanName}";
};
configElements = [
config = [
(
{ cfg }:
{
@ -102,9 +102,7 @@ mkTarget {
b = colors."${color}-rgb-b";
};
inherit (pkgs.stdenv.hostPlatform) system;
inherit (inputs.nur.legacyPackages.${system}.repos.rycee)
firefox-addons
;
inherit (inputs.nur.legacyPackages.${system}.repos.rycee) firefox-addons;
in
{
programs.${name}.profiles = lib.mkIf cfg.colorTheme.enable (

View file

@ -1,16 +1,10 @@
{
lib,
mkTarget,
...
}:
{ lib, mkTarget, ... }:
{
imports =
lib.mapAttrsToList
(
name: humanName:
lib.modules.importApply ./each-config.nix {
inherit mkTarget name humanName;
}
lib.modules.importApply ./each-config.nix { inherit mkTarget name humanName; }
)
{
"firefox" = "Firefox";

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "fish";
humanName = "Fish";
configElements =
config =
{ colors, inputs }:
{
programs.fish.interactiveShellInit = import ./prompt.nix {

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "fish";
humanName = "Fish";
configElements =
config =
{ colors, inputs }:
{
programs.fish.promptInit = import ./prompt.nix { inherit colors inputs; };

View file

@ -5,7 +5,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
programs.fish.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.fish.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "fnott";
humanName = "Fnott";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -5,7 +5,5 @@
sendNotifications = true;
};
home-manager.sharedModules = lib.singleton {
services.fnott.enable = true;
};
home-manager.sharedModules = lib.singleton { services.fnott.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "foliate";
humanName = "Foliate";
configElements =
config =
{ colors }:
{
programs.foliate = {

View file

@ -1,13 +1,8 @@
{ mkTarget, ... }:
mkTarget {
name = "font-packages";
humanName = "Font packages";
configElements =
config =
{ fonts }:
{
fonts = {
inherit (fonts) packages;
};
fonts = { inherit (fonts) packages; };
};
}

View file

@ -1,13 +1,8 @@
{ mkTarget, ... }:
mkTarget {
name = "font-packages";
humanName = "Font packages";
configElements =
config =
{ fonts }:
{
home = {
inherit (fonts) packages;
};
home = { inherit (fonts) packages; };
};
}

View file

@ -1,13 +1,8 @@
{ mkTarget, ... }:
mkTarget {
name = "font-packages";
humanName = "Font packages";
configElements =
config =
{ fonts }:
{
fonts = {
inherit (fonts) packages;
};
fonts = { inherit (fonts) packages; };
};
}

View file

@ -1,10 +1,7 @@
{ mkTarget }:
{ lib, ... }:
mkTarget {
name = "fontconfig";
humanName = "Fontconfig";
configElements =
config =
{ listTargetIndex, fonts }:
{
fonts.fontconfig.defaultFonts = lib.genAttrs [

View file

@ -1,6 +1,4 @@
{ lib, mkTarget, ... }:
{
imports = [
(lib.modules.importApply ./fontconfig.nix { inherit mkTarget; })
];
imports = [ (lib.modules.importApply ./fontconfig.nix { inherit mkTarget; }) ];
}

View file

@ -1,6 +1,4 @@
{ lib, mkTarget, ... }:
{
imports = [
(lib.modules.importApply ./fontconfig.nix { inherit mkTarget; })
];
imports = [ (lib.modules.importApply ./fontconfig.nix { inherit mkTarget; }) ];
}

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "foot";
humanName = "Foot";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "forge";
humanName = "Forge";
configElements =
config =
{ colors }:
{
xdg.configFile."forge/stylesheet/forge/stylesheet.css".source = colors {

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "fuzzel";
humanName = "Fuzzel";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -5,7 +5,5 @@
command.text = "fuzzel";
};
home-manager.sharedModules = lib.singleton {
programs.fuzzel.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.fuzzel.enable = true; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "fzf";
humanName = "Fzf";
configElements =
config =
{ colors }:
{
programs.fzf.colors = with colors.withHashtag; {

View file

@ -5,7 +5,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
programs.fzf.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.fzf.enable = true; };
}

View file

@ -1,12 +1,6 @@
{
mkTarget,
...
}:
{ mkTarget, ... }:
mkTarget {
name = "go DiskUsage()";
humanName = "go DiskUsage()";
configElements =
config =
{ colors }:
{
xdg.configFile."gdu/gdu.yaml" = {

View file

@ -1,6 +1,6 @@
{ lib, ... }:
{
name = "gdu";
name = "go DiskUsage()";
homepage = "https://github.com/dundee/gdu";
maintainers = [ lib.maintainers.omega-800 ];
}

View file

@ -5,7 +5,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
home.packages = [ pkgs.gdu ];
};
home-manager.sharedModules = lib.singleton { home.packages = [ pkgs.gdu ]; };
}

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "gedit";
humanName = "GEdit";
configElements =
config =
{ colors }:
{
xdg.dataFile = {

View file

@ -3,10 +3,7 @@
# - `man 5 ghostty`
{ mkTarget, pkgs, ... }:
mkTarget {
name = "ghostty";
humanName = "Ghostty";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "gitui";
humanName = "GitUI";
configElements =
config =
{ colors }:
{
programs.gitui.theme = with colors.withHashtag; ''

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "glance";
humanName = "Glance";
configElements = [
config = [
(
{ polarity }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "glance";
humanName = "Glance";
configElements = [
config = [
(
{ polarity }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "gnome-text-editor";
humanName = "GNOME Text Editor";
configElements = {
config = {
dconf.settings."org/gnome/TextEditor".style-scheme = "stylix";
};
}

View file

@ -1,5 +1 @@
{ mkTarget, ... }:
mkTarget {
name = "gnome-text-editor";
humanName = "GNOME Text Editor";
}
{ mkTarget, ... }: mkTarget { }

View file

@ -6,15 +6,12 @@
...
}:
mkTarget {
name = "gnome";
humanName = "GNOME";
autoEnable = pkgs.stdenv.hostPlatform.isLinux;
autoEnableExpr = "pkgs.stdenv.hostPlatform.isLinux";
extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "GNOME" true;
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "GNOME" true;
configElements = [
config = [
(
{ cfg, image }:
{
@ -114,9 +111,7 @@ mkTarget {
dataFile."themes/Stylix/gnome-shell/gnome-shell.css" = {
source =
let
theme = pkgs.callPackage ./theme.nix {
inherit inputs colors;
};
theme = pkgs.callPackage ./theme.nix { inherit inputs colors; };
in
"${theme}/share/gnome-shell/gnome-shell.css";

View file

@ -29,12 +29,14 @@ in
)
)
{
# As Stylix is controlling the wallpaper, there is no need for this
# If Stylix is controlling the wallpaper, there is no need for this
# pack of default wallpapers to be installed.
# If you want to use one, you can set stylix.image to something like
# "${pkgs.gnome-backgrounds}/path/to/your/preferred/background"
# which will then download the pack regardless of its exclusion below.
environment.gnome.excludePackages = [ pkgs.gnome-backgrounds ];
environment.gnome.excludePackages = lib.mkIf (config.stylix.image != null) [
pkgs.gnome-backgrounds
];
nixpkgs.overlays = [
(_: super: {
@ -46,9 +48,7 @@ in
cp ${theme}/share/gnome-shell/gnome-shell-theme.gresource \
$out/share/gnome-shell/gnome-shell-theme.gresource
'';
patches = (oldAttrs.patches or [ ]) ++ [
./shell_remove_dark_mode.patch
];
patches = (oldAttrs.patches or [ ]) ++ [ ./shell_remove_dark_mode.patch ];
});
})
];
@ -56,14 +56,9 @@ in
# Cursor and icon settings are usually applied via Home Manager,
# but the login screen uses a separate database.
services.displayManager.environment.XDG_DATA_DIRS = lib.mkIf (iconCfg != null) (
(lib.makeSearchPath "share" [
iconCfg.package
])
+ ":"
(lib.makeSearchPath "share" [ iconCfg.package ]) + ":"
);
environment.systemPackages = lib.mkIf (cursorCfg != null) [
cursorCfg.package
];
environment.systemPackages = lib.mkIf (cursorCfg != null) [ cursorCfg.package ];
programs.dconf.profiles.gdm.databases = lib.mkMerge [
(lib.mkIf (cursorCfg != null) [
{
@ -80,12 +75,7 @@ in
settings."org/gnome/desktop/interface" = {
icon-theme = builtins.head (
lib.filter (x: null != x) [
(
{
inherit (iconCfg) dark light;
}
."${polarity}" or null
)
({ inherit (iconCfg) dark light; }."${polarity}" or null)
iconCfg.dark
iconCfg.light
]

View file

@ -1,3 +1 @@
{
stylix.testbed.ui.graphicalEnvironment = "gnome";
}
{ stylix.testbed.ui.graphicalEnvironment = "gnome"; }

View file

@ -7,10 +7,7 @@
...
}:
mkTarget {
name = "gtk";
humanName = "all GTK3, GTK4 and Libadwaita apps";
extraOptions = {
options = {
extraCss = lib.mkOption {
description = ''
Extra code added to `gtk-3.0/gtk.css` and `gtk-4.0/gtk.css`.
@ -26,7 +23,7 @@ mkTarget {
flatpakSupport.enable = config.lib.stylix.mkEnableTarget "support for theming Flatpak apps" true;
};
configElements = [
config = [
{
warnings =
lib.optional (config.gtk.gtk3.extraCss != "" || config.gtk.gtk4.extraCss != "")

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "gtk";
humanName = "all GTK3, GTK4 and Libadwaita apps";
configElements = {
config = {
# Required for Home Manager's GTK settings to work
programs.dconf.enable = true;
};

View file

@ -1,9 +1,6 @@
{ mkTarget, lib, ... }:
mkTarget {
name = "gtksourceview";
humanName = "GTKSourceView";
configElements =
config =
{ colors, ... }:
{
xdg.dataFile = builtins.listToAttrs (

View file

@ -1,7 +1,3 @@
{ mkTarget, ... }:
mkTarget {
name = "gtksourceview";
humanName = "GTKSourceView";
# Used to enable overlay.
}
# Used to enable overlay.
mkTarget { }

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "halloy";
humanName = "Halloy";
configElements =
config =
{ colors }:
{
programs.halloy = {

View file

@ -5,15 +5,12 @@
...
}:
mkTarget {
name = "helix";
humanName = "Helix";
extraOptions.transparent = lib.mkEnableOption "transparent theming" // {
options.transparent = lib.mkEnableOption "transparent theming" // {
internal = true;
default = false;
};
configElements = [
config = [
(
{ opacity }:
{
@ -32,9 +29,7 @@ mkTarget {
themes.stylix =
let
theme = colors {
templateRepo = inputs.base16-helix;
};
theme = colors { templateRepo = inputs.base16-helix; };
# Removing the background exposes transparency from the terminal. The
# background might be helpful if the terminal isn't themed, so we only

View file

@ -5,7 +5,5 @@
useTerminal = true;
};
home-manager.sharedModules = lib.singleton {
programs.helix.enable = true;
};
home-manager.sharedModules = lib.singleton { programs.helix.enable = true; };
}

View file

@ -5,9 +5,7 @@
...
}:
mkTarget {
name = "hyprland";
humanName = "Hyprland";
extraOptions =
options =
{ image }:
{
hyprpaper.enable = config.lib.stylix.mkEnableTargetWith {
@ -17,7 +15,7 @@ mkTarget {
};
};
configElements = [
config = [
(
{ colors }:
{

View file

@ -5,14 +5,9 @@
...
}:
mkTarget {
name = "hyprlock";
humanName = "Hyprlock";
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Hyprlock" true;
extraOptions = {
useWallpaper = config.lib.stylix.mkEnableWallpaper "Hyprlock" true;
};
configElements = [
config = [
(
{ cfg, image }:
{

View file

@ -1,9 +1,6 @@
{ mkTarget, ... }:
mkTarget {
name = "hyprpanel";
humanName = "HyprPanel";
configElements = [
config = [
(
{ fonts }:
{

View file

@ -1,8 +1,4 @@
{
lib,
pkgs,
...
}:
{ lib, pkgs, ... }:
{
stylix.testbed.ui.graphicalEnvironment = "hyprland";

Some files were not shown because too many files have changed in this diff Show more