summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doom/.config/doom/themes/noctalia-theme.el128
-rw-r--r--foot/.config/foot/themes/noctalia42
-rw-r--r--ghostty/.config/ghostty/themes/noctalia44
-rwxr-xr-xniri/.config/niri/config.kdl2
-rw-r--r--niri/.config/niri/noctalia.kdl24
-rw-r--r--nixos/docs/ADDING_PACKAGES.md59
-rw-r--r--nixos/hosts/opus/default.nix35
-rw-r--r--nixos/modules/features/browsers/default.nix9
-rw-r--r--nixos/modules/features/cli-tools/default.nix3
-rw-r--r--nixos/modules/features/desktop-apps/default.nix21
-rw-r--r--nixos/modules/features/gaming/default.nix15
-rw-r--r--nixos/modules/features/language-tools/default.nix7
-rw-r--r--nixos/modules/features/media-tools/default.nix7
-rw-r--r--nixos/modules/features/messaging/default.nix9
-rw-r--r--nixos/modules/features/mouse/default.nix2
-rw-r--r--nixos/modules/features/noctalia-shell/default.nix2
-rw-r--r--nixos/modules/features/p2p/default.nix7
-rw-r--r--nixos/modules/features/productivity/default.nix11
-rw-r--r--nixos/modules/features/security/default.nix8
-rw-r--r--nixos/modules/features/swingmusic/default.nix34
-rw-r--r--nixos/modules/system/nix/default.nix7
-rw-r--r--starship/.config/starship.toml60
22 files changed, 317 insertions, 219 deletions
diff --git a/doom/.config/doom/themes/noctalia-theme.el b/doom/.config/doom/themes/noctalia-theme.el
index be14fda..9883881 100644
--- a/doom/.config/doom/themes/noctalia-theme.el
+++ b/doom/.config/doom/themes/noctalia-theme.el
@@ -21,75 +21,75 @@
(deftheme noctalia "Theme using Template variables with quality of life improvements.")
;; Define all the color variables (replaced by template processor)
-(let* ((bg "#fef8f4")
- (err "#ba1a1a")
- (err-container "#ffdad6")
- (on-background "#1d1b19")
- (on-err "#ffffff")
- (on-err-container "#93000a")
- (on-primary "#ffffff")
- (on-primary-container "#fffbff")
- (on-secondary "#ffffff")
- (on-secondary-container "#696456")
- (on-surface "#1d1b19")
- (on-surface-variant "#4a463d")
- (on-tertiary "#ffffff")
- (on-tertiary-container "#f9ffed")
- (outline-color "#7b776c")
- (outline-variant "#ccc6b9")
- (primary "#645c3f")
- (primary-container "#7e7456")
- (secondary "#635e50")
- (secondary-container "#eae2d0")
+(let* ((bg "#141311")
+ (err "#ffb4ab")
+ (err-container "#93000a")
+ (on-background "#e6e2dd")
+ (on-err "#690005")
+ (on-err-container "#ffdad6")
+ (on-primary "#373017")
+ (on-primary-container "#211b05")
+ (on-secondary "#343024")
+ (on-secondary-container "#bfb8a7")
+ (on-surface "#e6e2dd")
+ (on-surface-variant "#ccc6b9")
+ (on-tertiary "#293321")
+ (on-tertiary-container "#141e0d")
+ (outline-color "#969084")
+ (outline-variant "#4a463d")
+ (primary "#d2c6a3")
+ (primary-container "#9b9070")
+ (secondary "#cdc6b5")
+ (secondary-container "#4d493c")
(shadow "#000000")
- (surface "#fef8f4")
- (surface-container "#f2ede9")
- (surface-container-high "#ece7e3")
- (surface-container-highest "#e6e2dd")
- (surface-container-low "#f8f3ee")
- (surface-container-lowest "#ffffff")
- (surface-variant "#e9e2d4")
- (tertiary "#54604a")
- (tertiary-container "#6c7861")
+ (surface "#141311")
+ (surface-container "#211f1d")
+ (surface-container-high "#2b2a27")
+ (surface-container-highest "#363432")
+ (surface-container-low "#1d1b19")
+ (surface-container-lowest "#0f0e0c")
+ (surface-variant "#4a463d")
+ (tertiary "#becbb0")
+ (tertiary-container "#89957c")
;; Map success colors to tertiary (as used in other templates)
- (success "#54604a")
- (on-success "#ffffff")
- (success-container "#6c7861")
- (on-success-container "#f9ffed")
+ (success "#becbb0")
+ (on-success "#293321")
+ (success-container "#89957c")
+ (on-success-container "#141e0d")
;; Map fixed colors to regular colors
- (primary-fixed "#645c3f")
- (primary-fixed-dim "#7e7456")
- (secondary-fixed "#635e50")
- (secondary-fixed-dim "#eae2d0")
- (tertiary-fixed "#54604a")
- (tertiary-fixed-dim "#6c7861")
- (on-primary-fixed "#ffffff")
- (on-primary-fixed-variant "#fffbff")
- (on-secondary-fixed "#ffffff")
- (on-secondary-fixed-variant "#696456")
- (on-tertiary-fixed "#ffffff")
- (on-tertiary-fixed-variant "#f9ffed")
+ (primary-fixed "#d2c6a3")
+ (primary-fixed-dim "#9b9070")
+ (secondary-fixed "#cdc6b5")
+ (secondary-fixed-dim "#4d493c")
+ (tertiary-fixed "#becbb0")
+ (tertiary-fixed-dim "#89957c")
+ (on-primary-fixed "#373017")
+ (on-primary-fixed-variant "#211b05")
+ (on-secondary-fixed "#343024")
+ (on-secondary-fixed-variant "#bfb8a7")
+ (on-tertiary-fixed "#293321")
+ (on-tertiary-fixed-variant "#141e0d")
;; Map inverse colors to surface variants
- (inverse-on-surface "#1d1b19")
- (inverse-primary "#645c3f")
- (inverse-surface "#fef8f4")
+ (inverse-on-surface "#e6e2dd")
+ (inverse-primary "#d2c6a3")
+ (inverse-surface "#141311")
;; ANSI terminal colors
- (term0 "#e9e2d4")
- (term1 "#ba1a1a")
- (term2 "#645c3f")
- (term3 "#635e50")
- (term4 "#54604a")
- (term5 "#7e7252")
- (term6 "#797263")
- (term7 "#1d1b19")
- (term8 "#7b776c")
- (term9 "#ba1a1a")
- (term10 "#645c3f")
- (term11 "#635e50")
- (term12 "#54604a")
- (term13 "#7e7252")
- (term14 "#797263")
- (term15 "#1d1b19"))
+ (term0 "#4a463d")
+ (term1 "#ffb4ab")
+ (term2 "#d2c6a3")
+ (term3 "#cdc6b5")
+ (term4 "#becbb0")
+ (term5 "#d2c6a3")
+ (term6 "#cdc6b5")
+ (term7 "#e6e2dd")
+ (term8 "#969084")
+ (term9 "#ffb4ab")
+ (term10 "#d2c6a3")
+ (term11 "#cdc6b5")
+ (term12 "#becbb0")
+ (term13 "#d2c6a3")
+ (term14 "#cdc6b5")
+ (term15 "#e6e2dd"))
(custom-theme-set-faces
'noctalia
diff --git a/foot/.config/foot/themes/noctalia b/foot/.config/foot/themes/noctalia
index 36a70de..a8c38c5 100644
--- a/foot/.config/foot/themes/noctalia
+++ b/foot/.config/foot/themes/noctalia
@@ -1,22 +1,22 @@
[colors-dark]
-foreground=1d1b19
-background=fef8f4
-regular0=e9e2d4
-regular1=ba1a1a
-regular2=645c3f
-regular3=635e50
-regular4=54604a
-regular5=7e7252
-regular6=797263
-regular7=1d1b19
-bright0=7b776c
-bright1=ba1a1a
-bright2=645c3f
-bright3=635e50
-bright4=54604a
-bright5=7e7252
-bright6=797263
-bright7=1d1b19
-selection-foreground=4a463d
-selection-background=e9e2d4
-cursor=fef8f4 1d1b19
+foreground=e6e2dd
+background=141311
+regular0=4a463d
+regular1=ffb4ab
+regular2=d2c6a3
+regular3=cdc6b5
+regular4=becbb0
+regular5=d2c6a3
+regular6=cdc6b5
+regular7=e6e2dd
+bright0=969084
+bright1=ffb4ab
+bright2=d2c6a3
+bright3=cdc6b5
+bright4=becbb0
+bright5=d2c6a3
+bright6=cdc6b5
+bright7=e6e2dd
+selection-foreground=ccc6b9
+selection-background=4a463d
+cursor=141311 e6e2dd
diff --git a/ghostty/.config/ghostty/themes/noctalia b/ghostty/.config/ghostty/themes/noctalia
index ef11943..a5aeff8 100644
--- a/ghostty/.config/ghostty/themes/noctalia
+++ b/ghostty/.config/ghostty/themes/noctalia
@@ -1,22 +1,22 @@
-palette = 0=#e9e2d4
-palette = 1=#ba1a1a
-palette = 2=#645c3f
-palette = 3=#635e50
-palette = 4=#54604a
-palette = 5=#7e7252
-palette = 6=#797263
-palette = 7=#1d1b19
-palette = 8=#7b776c
-palette = 9=#ba1a1a
-palette = 10=#645c3f
-palette = 11=#635e50
-palette = 12=#54604a
-palette = 13=#7e7252
-palette = 14=#797263
-palette = 15=#1d1b19
-background = #fef8f4
-foreground = #1d1b19
-cursor-color = #1d1b19
-cursor-text = #fef8f4
-selection-background = #e9e2d4
-selection-foreground = #4a463d
+palette = 0=#4a463d
+palette = 1=#ffb4ab
+palette = 2=#d2c6a3
+palette = 3=#cdc6b5
+palette = 4=#becbb0
+palette = 5=#d2c6a3
+palette = 6=#cdc6b5
+palette = 7=#e6e2dd
+palette = 8=#969084
+palette = 9=#ffb4ab
+palette = 10=#d2c6a3
+palette = 11=#cdc6b5
+palette = 12=#becbb0
+palette = 13=#d2c6a3
+palette = 14=#cdc6b5
+palette = 15=#e6e2dd
+background = #141311
+foreground = #e6e2dd
+cursor-color = #e6e2dd
+cursor-text = #141311
+selection-background = #4a463d
+selection-foreground = #ccc6b9
diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl
index 750748c..29fec44 100755
--- a/niri/.config/niri/config.kdl
+++ b/niri/.config/niri/config.kdl
@@ -132,7 +132,7 @@ gestures {
}
}
cursor {
- xcursor-theme "Bibata-Modern-Ice"
+ xcursor-theme "apple-cursor"
xcursor-size 19
}
overview {
diff --git a/niri/.config/niri/noctalia.kdl b/niri/.config/niri/noctalia.kdl
index 0c09427..cdcca71 100644
--- a/niri/.config/niri/noctalia.kdl
+++ b/niri/.config/niri/noctalia.kdl
@@ -1,15 +1,15 @@
layout {
focus-ring {
- active-color "#645c3f"
- inactive-color "#fef8f4"
- urgent-color "#ba1a1a"
+ active-color "#d2c6a3"
+ inactive-color "#141311"
+ urgent-color "#ffb4ab"
}
border {
- active-color "#645c3f"
- inactive-color "#fef8f4"
- urgent-color "#ba1a1a"
+ active-color "#d2c6a3"
+ inactive-color "#141311"
+ urgent-color "#ffb4ab"
}
shadow {
@@ -17,19 +17,19 @@ layout {
}
tab-indicator {
- active-color "#645c3f"
- inactive-color "#7e7456"
- urgent-color "#ba1a1a"
+ active-color "#d2c6a3"
+ inactive-color "#9b9070"
+ urgent-color "#ffb4ab"
}
insert-hint {
- color "#645c3f80"
+ color "#d2c6a380"
}
}
recent-windows {
highlight {
- active-color "#645c3f"
- urgent-color "#ba1a1a"
+ active-color "#d2c6a3"
+ urgent-color "#ffb4ab"
}
}
diff --git a/nixos/docs/ADDING_PACKAGES.md b/nixos/docs/ADDING_PACKAGES.md
index fa5ea02..d1b5eba 100644
--- a/nixos/docs/ADDING_PACKAGES.md
+++ b/nixos/docs/ADDING_PACKAGES.md
@@ -1,10 +1,11 @@
# Dendritic Pattern
-Dendritic is the way to organize your packages in NixOS -- around features. https://github.com/mightyiam/dendritic this is a good example!
+
+Dendritic is the way to organize your packages in NixOS — around features. https://github.com/mightyiam/dendritic this is a good example!
# Adding Packages
This configuration is composed from `hosts/opus/default.nix` and focused modules
-under `modules/system/` and `modules/features/`. There is no central package list.
+under `modules/features/`. There is no central package list.
## Where a package belongs
@@ -13,15 +14,23 @@ under `modules/system/` and `modules/features/`. There is no central package lis
| Terminal | `modules/features/terminals/default.nix` |
| CLI tool (incl. shell prompts like starship) | `modules/features/cli-tools/default.nix` |
| Editor or IDE | `modules/features/editors/default.nix` |
-| Desktop application | `modules/features/desktop-apps/default.nix` |
| Compiler, linter, language tool | `modules/features/dev-tools/default.nix` |
| File manager or archive tool (incl. drag & drop tools) | `modules/features/file-managers/default.nix` |
| Wayland clipboard, screenshot, or input tool | `modules/features/wayland-tools/default.nix` |
| Audio application | `modules/features/audio-tools/default.nix` |
+| Media recording or streaming tool | `modules/features/media-tools/default.nix` |
| System monitor or fetch tool | `modules/features/monitoring/default.nix` |
| Font | `modules/features/fonts/default.nix` |
| GStreamer plugin | `modules/features/gst-codecs/default.nix` |
| Runtime library for external binaries | `modules/features/binary-compat/default.nix` |
+| Web browser | `modules/features/browsers/default.nix` |
+| Messaging or communication app | `modules/features/messaging/default.nix` |
+| Office suite, note-taking app, or document viewer/editor | `modules/features/productivity/default.nix` |
+| Password manager or encryption tool | `modules/features/security/default.nix` |
+| Gaming app, game launcher, or gaming service (Steam, etc.) | `modules/features/gaming/default.nix` |
+| P2P or torrent client | `modules/features/p2p/default.nix` |
+| Language dictionary or spell-check data | `modules/features/language-tools/default.nix` |
+| Desktop application (catch-all for GUI apps without a fitting category) | `modules/features/desktop-apps/default.nix` |
First use an existing category. Create a new feature module only if the package is
its own service, subsystem, or a group of related packages without a fitting category.
@@ -63,6 +72,44 @@ fonts.packages = with pkgs; [
];
```
+## Language dictionaries are different
+
+Spell-check dictionaries, transliteration data, and other language data belong in
+`modules/features/language-tools/default.nix` under `environment.systemPackages`, not
+in `fonts.packages` or a general-purpose module:
+
+```nix
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ hunspellDicts.ru_RU
+ ];
+}
+```
+
+## Gaming services live in the gaming module
+
+Gaming-related services and packages — Steam configuration, game launchers, Wine-based
+app runners — belong in `modules/features/gaming/default.nix`. This keeps the host file
+lean and makes the gaming stack reusable across hosts:
+
+```nix
+{ pkgs, ... }:
+
+{
+ programs.steam = {
+ enable = true;
+ remotePlay.openFirewall = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ pkgs.lutris
+ pkgs.prismlauncher
+ ];
+}
+```
+
## Create a new feature module
1. Create `modules/features/<category>/default.nix`:
@@ -89,13 +136,13 @@ fonts.packages = with pkgs; [
## Host-only packages
For a package that is truly specific to this desktop, add it to the small
-`environment.systemPackages` list in `hosts/opus/default.nix`. Gaming is the current
-example. If that list starts to represent a reusable category, extract a feature module.
+`environment.systemPackages` list in `hosts/opus/default.nix`. If that list starts to
+represent a reusable category, extract a feature module.
## Packages from flake inputs
Packages provided by a flake input use `inputs` and the host platform, following
-`modules/features/desktop-apps/default.nix`:
+`modules/features/browsers/default.nix`:
```nix
{ pkgs, inputs, ... }:
diff --git a/nixos/hosts/opus/default.nix b/nixos/hosts/opus/default.nix
index b0bf347..2b4fe7b 100644
--- a/nixos/hosts/opus/default.nix
+++ b/nixos/hosts/opus/default.nix
@@ -23,7 +23,7 @@
../../modules/features/nvidia
../../modules/features/appimage
../../modules/features/mpd
- ../../modules/features/swingmusic
+# ../../modules/features/swingmusic
../../modules/features/monitoring
../../modules/features/terminals
../../modules/features/cli-tools
@@ -35,10 +35,18 @@
../../modules/features/gst-codecs
../../modules/features/fonts
../../modules/features/desktop-apps
- ../../modules/features/dev-tools
- ../../modules/features/vpn-utils
- ../../modules/features/wireshark
- ../../modules/features/mouse
+ ../../modules/features/browsers
+ ../../modules/features/messaging
+ ../../modules/features/productivity
+ ../../modules/features/security
+ ../../modules/features/media-tools
+ ../../modules/features/p2p
+ ../../modules/features/language-tools
+ ../../modules/features/gaming
+ ../../modules/features/dev-tools
+ ../../modules/features/vpn-utils
+ ../../modules/features/wireshark
+ ../../modules/features/mouse
];
# ────────────────────────────────────────────────────────────────────────
@@ -74,22 +82,5 @@
QT_SCREEN_SCALE_FACTORS = "1.5";
};
- # ────────────────────────────────────────────────────────────────────────
- # Gaming composition (was attrs/gaming)
- # Host-only desktop apps that don't (yet) deserve their own feature module.
- # ────────────────────────────────────────────────────────────────────────
- # Steam: remote play and dedicated servers need open firewall ports.
- programs.steam = {
- enable = true;
- remotePlay.openFirewall = true;
- dedicatedServer.openFirewall = true;
- };
- # Wine-based launchers for Windows games & apps.
- environment.systemPackages = with pkgs; [
- pkgs.lutris
- pkgs.prismlauncher
- pkgs.bottles
- ];
-
system.stateVersion = "26.05";
}
diff --git a/nixos/modules/features/browsers/default.nix b/nixos/modules/features/browsers/default.nix
new file mode 100644
index 0000000..2551221
--- /dev/null
+++ b/nixos/modules/features/browsers/default.nix
@@ -0,0 +1,9 @@
+{ pkgs, inputs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.helium
+ librewolf
+ chromium
+ ];
+}
diff --git a/nixos/modules/features/cli-tools/default.nix b/nixos/modules/features/cli-tools/default.nix
index ef13ddd..c2ee448 100644
--- a/nixos/modules/features/cli-tools/default.nix
+++ b/nixos/modules/features/cli-tools/default.nix
@@ -18,6 +18,9 @@
smartmontools
amneziawg-tools
amneziawg-go
+ secretspec
+ claude-code
+ opencode
];
# Cross-shell prompt; its config lives in the dotfiles repo, not NixOS.
diff --git a/nixos/modules/features/desktop-apps/default.nix b/nixos/modules/features/desktop-apps/default.nix
index e4fcd05..b74384f 100644
--- a/nixos/modules/features/desktop-apps/default.nix
+++ b/nixos/modules/features/desktop-apps/default.nix
@@ -1,27 +1,6 @@
{ pkgs, inputs, ... }:
{
- # Desktop GUI applications
environment.systemPackages = with pkgs; [
- # Packaged from a flake input (see flake.nix)
- inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.helium
- secretspec
- claude-code
- cryptomator
- keepassxc
- libreoffice
- hunspellDicts.ru_RU
- opencode
- pkgs.ayugram-desktop
- pkgs.legcord
- pkgs.vesktop
- obsidian
- obs-studio
- pkgs.qbittorrent
- evince
- pkgs.masterpdfeditor
- librewolf
- chromium
- anytype
];
}
diff --git a/nixos/modules/features/gaming/default.nix b/nixos/modules/features/gaming/default.nix
new file mode 100644
index 0000000..fe3938a
--- /dev/null
+++ b/nixos/modules/features/gaming/default.nix
@@ -0,0 +1,15 @@
+{ pkgs, ... }:
+
+{
+ programs.steam = {
+ enable = true;
+ remotePlay.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ pkgs.lutris
+ pkgs.prismlauncher
+ pkgs.bottles
+ ];
+}
diff --git a/nixos/modules/features/language-tools/default.nix b/nixos/modules/features/language-tools/default.nix
new file mode 100644
index 0000000..338d26b
--- /dev/null
+++ b/nixos/modules/features/language-tools/default.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ hunspellDicts.ru_RU
+ ];
+}
diff --git a/nixos/modules/features/media-tools/default.nix b/nixos/modules/features/media-tools/default.nix
new file mode 100644
index 0000000..00a16da
--- /dev/null
+++ b/nixos/modules/features/media-tools/default.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ obs-studio
+ ];
+}
diff --git a/nixos/modules/features/messaging/default.nix b/nixos/modules/features/messaging/default.nix
new file mode 100644
index 0000000..55354c2
--- /dev/null
+++ b/nixos/modules/features/messaging/default.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ pkgs.ayugram-desktop
+ pkgs.legcord
+ pkgs.vesktop
+ ];
+}
diff --git a/nixos/modules/features/mouse/default.nix b/nixos/modules/features/mouse/default.nix
index e0f44a8..c984fbb 100644
--- a/nixos/modules/features/mouse/default.nix
+++ b/nixos/modules/features/mouse/default.nix
@@ -7,4 +7,4 @@
piper
input-remapper
];
-} \ No newline at end of file
+}
diff --git a/nixos/modules/features/noctalia-shell/default.nix b/nixos/modules/features/noctalia-shell/default.nix
index 251ccff..c9bc20c 100644
--- a/nixos/modules/features/noctalia-shell/default.nix
+++ b/nixos/modules/features/noctalia-shell/default.nix
@@ -9,4 +9,4 @@
inputs.noctalia.packages.${stdenv.hostPlatform.system}.default
noctalia-shell
];
-} \ No newline at end of file
+}
diff --git a/nixos/modules/features/p2p/default.nix b/nixos/modules/features/p2p/default.nix
new file mode 100644
index 0000000..af05afe
--- /dev/null
+++ b/nixos/modules/features/p2p/default.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ pkgs.qbittorrent
+ ];
+}
diff --git a/nixos/modules/features/productivity/default.nix b/nixos/modules/features/productivity/default.nix
new file mode 100644
index 0000000..2b14ff6
--- /dev/null
+++ b/nixos/modules/features/productivity/default.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ libreoffice
+ obsidian
+ anytype
+ evince
+ pkgs.masterpdfeditor
+ ];
+}
diff --git a/nixos/modules/features/security/default.nix b/nixos/modules/features/security/default.nix
new file mode 100644
index 0000000..935ef22
--- /dev/null
+++ b/nixos/modules/features/security/default.nix
@@ -0,0 +1,8 @@
+{ pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ keepassxc
+ cryptomator
+ ];
+}
diff --git a/nixos/modules/features/swingmusic/default.nix b/nixos/modules/features/swingmusic/default.nix
index e666b72..389e3c8 100644
--- a/nixos/modules/features/swingmusic/default.nix
+++ b/nixos/modules/features/swingmusic/default.nix
@@ -1,21 +1,21 @@
-{ ... }:
+#{ ... }:
{
# Swing Music: self-hosted local music server. Built separately and placed
# in the user's home; this unit just turns it into a managed session service.
- systemd.user.services.swingmusic = {
- description = "Swing Music Local Server";
- wantedBy = [ "graphical-session.target" ];
- after = [ "graphical-session.target" ];
- serviceConfig = {
- ExecStart = "/home/seraphim/.swingmusic/swingmusic";
- Restart = "on-failure";
- WorkingDirectory = "/home/seraphim";
- NoNewPrivileges = true;
- PrivateTmp = true;
- ProtectSystem = "strict";
- ProtectHome = "false";
- RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
- };
- };
-} \ No newline at end of file
+# systemd.user.services.swingmusic = {
+# description = "Swing Music Local Server";
+# wantedBy = [ "graphical-session.target" ];
+# after = [ "graphical-session.target" ];
+# serviceConfig = {
+# ExecStart = "/home/seraphim/.swingmusic/swingmusic";
+# Restart = "on-failure";
+# WorkingDirectory = "/home/seraphim";
+# NoNewPrivileges = true;
+# PrivateTmp = true;
+# ProtectSystem = "strict";
+# ProtectHome = "false";
+# RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+# };
+# };
+#}
diff --git a/nixos/modules/system/nix/default.nix b/nixos/modules/system/nix/default.nix
index 9cefbf5..a02cb6f 100644
--- a/nixos/modules/system/nix/default.nix
+++ b/nixos/modules/system/nix/default.nix
@@ -3,7 +3,12 @@
{
# Nix itself: enable the flake + nix-command features this config relies on.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
- nixpkgs.config.allowUnfree = true;
+ nixpkgs.config = {
+ allowUnfree = true;
+ permittedInsecurePackages = [
+ "electron-39.8.10"
+ ];
+ };
# Automatic garbage collection — drop builds older than a week.
nix.gc = {
diff --git a/starship/.config/starship.toml b/starship/.config/starship.toml
index ab9064a..085f94d 100644
--- a/starship/.config/starship.toml
+++ b/starship/.config/starship.toml
@@ -52,40 +52,40 @@ deleted = ""
[palettes.noctalia]
# Standard colors
-blue = "#54604a"
-red = "#ba1a1a"
-green = "#645c3f"
-yellow = "#635e50"
-cyan = "#797263"
-magenta = "#7e7252"
-white = "#1d1b19"
-black = "#e9e2d4"
+blue = "#becbb0"
+red = "#ffb4ab"
+green = "#d2c6a3"
+yellow = "#cdc6b5"
+cyan = "#cdc6b5"
+magenta = "#d2c6a3"
+white = "#e6e2dd"
+black = "#4a463d"
# Extended palette (Catppuccin-compatible names)
-rosewater = "#635e50"
-flamingo = "#ba1a1a"
-pink = "#7e7252"
-mauve = "#7e7252"
-maroon = "#ba1a1a"
-peach = "#635e50"
-teal = "#797263"
-sky = "#797263"
-sapphire = "#54604a"
-lavender = "#7e7252"
+rosewater = "#cdc6b5"
+flamingo = "#ffb4ab"
+pink = "#d2c6a3"
+mauve = "#d2c6a3"
+maroon = "#ffb4ab"
+peach = "#cdc6b5"
+teal = "#cdc6b5"
+sky = "#cdc6b5"
+sapphire = "#becbb0"
+lavender = "#d2c6a3"
# Text shades
-text = "#1d1b19"
-subtext1 = "#1d1b19"
-subtext0 = "#7b776c"
+text = "#e6e2dd"
+subtext1 = "#e6e2dd"
+subtext0 = "#969084"
# Surface shades
-overlay2 = "#7b776c"
-overlay1 = "#7b776c"
-overlay0 = "#e9e2d4"
-surface2 = "#e9e2d4"
-surface1 = "#e9e2d4"
-surface0 = "#fef8f4"
-base = "#fef8f4"
-mantle = "#fef8f4"
-crust = "#fef8f4"
+overlay2 = "#969084"
+overlay1 = "#969084"
+overlay0 = "#4a463d"
+surface2 = "#4a463d"
+surface1 = "#4a463d"
+surface0 = "#141311"
+base = "#141311"
+mantle = "#141311"
+crust = "#141311"
# <<< NOCTALIA STARSHIP PALETTE <<<