diff --git a/core/home/config/Nomarchy.ttf b/core/branding/Nomarchy.ttf similarity index 100% rename from core/home/config/Nomarchy.ttf rename to core/branding/Nomarchy.ttf diff --git a/core/home/config/nomarchy/default/bashrc b/core/home/config/nomarchy/default/bashrc deleted file mode 100644 index 7fcd619..0000000 --- a/core/home/config/nomarchy/default/bashrc +++ /dev/null @@ -1,11 +0,0 @@ -# If not running interactively, don't do anything (leave this at the top of this file) -[[ $- != *i* ]] && return - -# All the default Nomarchy aliases and functions -# (don't mess with these directly, just overwrite them here!) -source ~/.config/nomarchy/default/bash/rc - -# Add your own exports, aliases, and functions here. -# -# Make an alias for invoking commands you use constantly -# alias p='python' diff --git a/core/home/config/nomarchy/default/elephant/nomarchy_themes.lua b/core/home/config/nomarchy/default/elephant/nomarchy_themes.lua index 2d6a1eb..3749c00 100644 --- a/core/home/config/nomarchy/default/elephant/nomarchy_themes.lua +++ b/core/home/config/nomarchy/default/elephant/nomarchy_themes.lua @@ -32,8 +32,7 @@ end function GetEntries() local entries = {} local user_theme_dir = os.getenv("HOME") .. "/.config/nomarchy/themes" - local nomarchy_path = os.getenv("NOMARCHY_PATH") or "/etc/nixos" - local default_theme_dir = nomarchy_path .. "/themes/palettes" + local default_theme_dir = os.getenv("HOME") .. "/.local/share/nomarchy/themes" local seen_themes = {} diff --git a/core/home/configs.nix b/core/home/configs.nix index d592f58..c6ec60c 100644 --- a/core/home/configs.nix +++ b/core/home/configs.nix @@ -52,4 +52,8 @@ let in { xdg.configFile = configMappings; + + home.file.".XCompose" = lib.mkDefault { + source = ./config/nomarchy/default/xcompose; + }; } diff --git a/core/system/fonts.nix b/core/system/fonts.nix index bf89414..3a06321 100644 --- a/core/system/fonts.nix +++ b/core/system/fonts.nix @@ -5,7 +5,7 @@ let pname = "nomarchy-font"; version = "1.0"; # Point directly to the font file - src = ./../home/config/Nomarchy.ttf; + src = ./../branding/Nomarchy.ttf; # No archive to unpack unpackPhase = "true"; installPhase = '' diff --git a/core/system/scripts-derivation.nix b/core/system/scripts-derivation.nix index d5ce767..e26e497 100644 --- a/core/system/scripts-derivation.nix +++ b/core/system/scripts-derivation.nix @@ -55,8 +55,7 @@ pkgs.stdenv.mkDerivation { for file in $out/bin/*; do if [ -f "$file" ]; then wrapProgram "$file" \ - --prefix PATH : "$deps" \ - --set NOMARCHY_PATH "/etc/nixos" + --prefix PATH : "$deps" fi done ''; diff --git a/core/system/scripts/nomarchy-env-update b/features/scripts/utils/nomarchy-env-update similarity index 100% rename from core/system/scripts/nomarchy-env-update rename to features/scripts/utils/nomarchy-env-update diff --git a/core/system/scripts/nomarchy-pkg-add b/features/scripts/utils/nomarchy-pkg-add similarity index 100% rename from core/system/scripts/nomarchy-pkg-add rename to features/scripts/utils/nomarchy-pkg-add diff --git a/core/system/scripts/nomarchy-pkg-remove b/features/scripts/utils/nomarchy-pkg-remove similarity index 100% rename from core/system/scripts/nomarchy-pkg-remove rename to features/scripts/utils/nomarchy-pkg-remove diff --git a/core/system/scripts/nomarchy-preflight-migration b/features/scripts/utils/nomarchy-preflight-migration similarity index 100% rename from core/system/scripts/nomarchy-preflight-migration rename to features/scripts/utils/nomarchy-preflight-migration diff --git a/features/scripts/utils/nomarchy-welcome b/features/scripts/utils/nomarchy-welcome index a142467..4ce78f6 100755 --- a/features/scripts/utils/nomarchy-welcome +++ b/features/scripts/utils/nomarchy-welcome @@ -28,16 +28,25 @@ echo "" # 1. Select initial theme echo "Step 1: Choose your starting theme" -nomarchy-theme-set "$(nomarchy-theme-list | gum filter --placeholder 'Select a theme...')" --no-update +SELECTED_THEME="$(nomarchy-theme-list | gum filter --placeholder 'Select a theme...')" +if [[ -n "$SELECTED_THEME" ]]; then + THEME_ID=$(echo "$SELECTED_THEME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-') + nomarchy-theme-set "$THEME_ID" --no-update +fi # 2. Select initial font echo "Step 2: Choose your preferred font" -nomarchy-font-set "$(nomarchy-font-list | gum filter --placeholder 'Select a font...')" --no-update +SELECTED_FONT="$(nomarchy-font-list | gum filter --placeholder 'Select a font...')" +if [[ -n "$SELECTED_FONT" ]]; then + nomarchy-font-set "$SELECTED_FONT" --no-update +fi # 3. Select panel position echo "Step 3: Choose your preferred panel position" POSITION=$(gum choose "top" "bottom") -nomarchy-state-write panelPosition "$POSITION" +if [[ -n "$POSITION" ]]; then + nomarchy-state-write panelPosition "$POSITION" +fi # Skip system-modifying steps in the Live ISO environment if [[ "$USER" == "nixos" ]]; then diff --git a/installer/install.sh b/installer/install.sh index fd00da5..094c1d1 100755 --- a/installer/install.sh +++ b/installer/install.sh @@ -1350,7 +1350,7 @@ execute_installation() { mkdir -p /mnt/persist/etc mv /mnt/etc/nixos /mnt/persist/etc/ mkdir -p /mnt/etc - ln -s /persist/etc/nixos /mnt/etc/nixos + ln -s ../persist/etc/nixos /mnt/etc/nixos success "Impermanence configured" fi diff --git a/lib/state-schema.nix b/lib/state-schema.nix index fee4b73..bc98b87 100644 --- a/lib/state-schema.nix +++ b/lib/state-schema.nix @@ -6,7 +6,7 @@ # Home state defaults (user preferences) home = { # Theme and appearance - theme = "nord"; + theme = "summer-night"; wallpaper = ""; font = "JetBrainsMono Nerd Font"; panelPosition = "top"; @@ -31,7 +31,7 @@ # System state defaults (system-level configuration) system = { # Theme (can differ from home for system-level theming) - theme = "nord"; + theme = "summer-night"; # Timezone timezone = "UTC"; diff --git a/themes/engine/files.nix b/themes/engine/files.nix index fdd204f..63389d3 100644 --- a/themes/engine/files.nix +++ b/themes/engine/files.nix @@ -83,6 +83,12 @@ in path = ../palettes; }; + # Expose all theme templates to the system via local share + xdg.dataFile."nomarchy/templates".source = builtins.path { + name = "nomarchy-templates"; + path = ../templates; + }; + # Nautilus python extensions xdg.dataFile."nautilus-python/extensions/localsend.py".source = ../../core/home/config/nautilus-python/extensions/localsend.py; } diff --git a/themes/engine/scripts.nix b/themes/engine/scripts.nix index b8adf42..3156fd6 100644 --- a/themes/engine/scripts.nix +++ b/themes/engine/scripts.nix @@ -40,8 +40,7 @@ let for file in $out/bin/*; do if [ -f "$file" ]; then wrapProgram "$file" \ - --prefix PATH : "$deps" \ - --set NOMARCHY_PATH "/etc/nixos" + --prefix PATH : "$deps" fi done ''; diff --git a/themes/engine/scripts/nomarchy-theme-list b/themes/engine/scripts/nomarchy-theme-list index 28188e0..fef3926 100755 --- a/themes/engine/scripts/nomarchy-theme-list +++ b/themes/engine/scripts/nomarchy-theme-list @@ -2,8 +2,8 @@ set -e { - find ~/.config/nomarchy/themes/ -mindepth 1 -maxdepth 1 \( -type d -o -type l \) -printf '%f\n' - find "$NOMARCHY_PATH/themes/palettes/" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' + find ~/.config/nomarchy/themes/ -mindepth 1 -maxdepth 1 \( -type d -o -type l \) -printf '%f\n' 2>/dev/null || true + find ~/.local/share/nomarchy/themes/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' 2>/dev/null || true } | sort -u | while read -r name; do echo "$name" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g' done diff --git a/themes/engine/scripts/nomarchy-theme-set-templates b/themes/engine/scripts/nomarchy-theme-set-templates index 62d2ffe..e57e529 100755 --- a/themes/engine/scripts/nomarchy-theme-set-templates +++ b/themes/engine/scripts/nomarchy-theme-set-templates @@ -1,7 +1,7 @@ #!/bin/bash set -e -TEMPLATES_DIR="$NOMARCHY_PATH/themes/templates" +TEMPLATES_DIR="$HOME/.local/share/nomarchy/templates" USER_TEMPLATES_DIR="$HOME/.config/nomarchy/themes/templates" NEXT_THEME_DIR="$HOME/.config/nomarchy/current/theme" COLORS_FILE="$NEXT_THEME_DIR/colors.toml"