Changes
34 changed files (+415/-262)
-
-
@@ -14,24 +14,24 @@ //// SPDX-License-Identifier: 0BSD { "excludes": [], "plugins": [ "https://plugins.dprint.dev/json-0.20.0.wasm", "https://plugins.dprint.dev/markdown-0.19.0.wasm", "https://plugins.dprint.dev/toml-0.7.0.wasm", "https://plugins.dprint.dev/g-plane/malva-v0.12.1.wasm", "excludes": [], "plugins": [ "https://plugins.dprint.dev/json-0.20.0.wasm", "https://plugins.dprint.dev/markdown-0.19.0.wasm", "https://plugins.dprint.dev/toml-0.7.0.wasm", "https://plugins.dprint.dev/g-plane/malva-v0.12.1.wasm", "https://plugins.dprint.dev/exec-0.5.1.json@492414e39dea4dccc07b4af796d2f4efdb89e84bae2bd4e1e924c0cc050855bf", ], ], "lineWidth": 90, "indentWidth": 2, "newLineKind": "lf", "useTabs": true, "json": {}, "markdown": {}, "toml": {}, "malva": {}, "json": {}, "markdown": {}, "toml": {}, "malva": {}, "exec": { "cwd": "${configDir}", "commands": [
-
@@ -51,6 +51,6 @@ {"exts": ["go"], "command": "gofmt", }, ] } ], }, }
-
-
-
@@ -13,7 +13,8 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, pkgs, ... }: { { config, pkgs, ... }: { programs = { # Replacement for a shell history which records additional commands context atuin = {
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { imports = [ ./atuin.nix
-
@@ -102,10 +107,7 @@ lf =let # Linux: xdg-open # macOS: open openCommand = if pkgs.stdenv.isLinux then "xdg-open" else "open"; openCommand = if pkgs.stdenv.isLinux then "xdg-open" else "open"; in { enable = true;
-
@@ -146,9 +148,7 @@ # https://github.com/BurntSushi/ripgrepripgrep = { enable = true; arguments = [ "--sort=path" ]; arguments = [ "--sort=path" ]; }; }; };
-
-
-
@@ -13,7 +13,8 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, pkgs, ... }: { { config, pkgs, ... }: { config = { programs = { neovim = {
-
-
-
@@ -16,7 +16,12 @@ ## === # Platform specifc configurations { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { config = { # https://github.com/NixOS/nix/issues/3616
-
@@ -31,13 +36,9 @@ fi''; }; xdg = lib.mkIf pkgs.stdenv.isLinux { enable = true; }; xdg = lib.mkIf pkgs.stdenv.isLinux { enable = true; }; # I'm not sure this changes behaviour in a meaningful way. targets.genericLinux = lib.mkIf pkgs.stdenv.isLinux { enable = true; }; targets.genericLinux = lib.mkIf pkgs.stdenv.isLinux { enable = true; }; }; }
-
-
-
@@ -13,7 +13,8 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, pkgs, ... }: { { config, pkgs, ... }: { programs = { tmux = { keyMode = "vi";
-
@@ -63,4 +64,3 @@ '';}; }; }
-
-
-
@@ -13,10 +13,11 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config , lib , pkgs , ... { config, lib, pkgs, ... }: let cfg = config.features.basics.zsh;
-
@@ -160,4 +161,3 @@ };}; }; }
-
-
-
@@ -16,7 +16,12 @@ ## === # Configurations for data-related tasks: inspect, modify, etc... { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { options = { features.data.enable = lib.mkEnableOption "Data";
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { config = lib.mkIf config.features.data.enable { programs.nushell = {
-
@@ -26,8 +31,7 @@ edit_mode: vi} ''; envFile.text = '' ''; envFile.text = ''''; }; }; }
-
-
-
@@ -16,7 +16,12 @@ ## === # Development related configurations { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let cfg = config.features.dev;
-
@@ -54,9 +59,7 @@ },} ''; } { plugin = vim-fugitive; } { plugin = vim-fugitive; } ]; }; };
-
@@ -66,7 +69,10 @@ # mise writes to on `mise settings` command.xdg.configFile."mise/conf.d/immutable.toml" = lib.mkIf cfg.enable { source = toml.generate "mise-settings" { settings = { idiomatic_version_file_enable_tools = [ "bazel" "node" ]; idiomatic_version_file_enable_tools = [ "bazel" "node" ]; }; }; };
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let cfg = config.features.dev.lsp;
-
@@ -59,24 +64,24 @@ };}; }; lsToSetupStmt = c: lsToSetupStmt = c: let cmd = if (c.cmd != null) then "cmd = { ${builtins.concatStringsSep ", " (builtins.map (x: "\"${x}\"") c.cmd)} }," else ""; if (c.cmd != null) then "cmd = { ${builtins.concatStringsSep ", " (builtins.map (x: "\"${x}\"") c.cmd)} }," else ""; rootMarkers = if (c.rootMarkers != null) then "root_markers = { ${builtins.concatStringsSep ", " (builtins.map (x: "'${x}'") c.rootMarkers)} }," else ""; if (c.rootMarkers != null) then "root_markers = { ${ builtins.concatStringsSep ", " (builtins.map (x: "'${x}'") c.rootMarkers) } }," else ""; initOptions = if (c.initOptions != null) then "init_options = { ${c.initOptions} }," else ""; settings = if (c.settings != null) then "settings = { ${c.settings} }," else ""; if (c.initOptions != null) then "init_options = { ${c.initOptions} }," else ""; settings = if (c.settings != null) then "settings = { ${c.settings} }," else ""; in '' vim.lsp.config('${c.name}', {
-
@@ -138,7 +143,10 @@ type = ls;default = { name = "denols"; rootMarkers = [ "deno.json" "deno.jsonc" ]; rootMarkers = [ "deno.json" "deno.jsonc" ]; settings = '' deno = { suggest = {
-
@@ -187,7 +195,11 @@ zig = lib.mkOption {type = ls; default = { cmd = [ "zls" "--config-path" "${config.xdg.configHome}/zls.json" ]; cmd = [ "zls" "--config-path" "${config.xdg.configHome}/zls.json" ]; name = "zls"; }; };
-
@@ -276,9 +288,9 @@local lspconfig = require("lspconfig") '' ] ++ (builtins.map lsToSetupStmt cfg.langs) ++ [ ] ++ (builtins.map lsToSetupStmt cfg.langs) ++ [ '' -- [LSP]
-
@@ -314,9 +326,7 @@ ''] ); } { plugin = luasnip; } { plugin = luasnip; } ]; };
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { options = { features.gui.enable = lib.mkEnableOption "GUI";
-
@@ -26,7 +31,5 @@ pkgs.monaspace]; }; imports = [ ./ghostty.nix ]; imports = [ ./ghostty.nix ]; }
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { config = lib.mkIf config.features.gui.enable { programs.ghostty = {
-
@@ -43,31 +48,36 @@ # This feature enables Monaspace's Texture healing.# * "dlig" ... Discretionary Ligatures # This feature fucks up Japanese text rendering. # Enabled by default. font-feature = [ "calt" "-dlig" ]; font-feature = [ "calt" "-dlig" ]; copy-on-select = false; keybind = if pkgs.stdenv.isDarwin then [ "ctrl+shift+t=new_tab" "ctrl+shift+n=new_split:down" "ctrl+shift+m=new_split:right" if pkgs.stdenv.isDarwin then [ "ctrl+shift+t=new_tab" "ctrl+shift+n=new_split:down" "ctrl+shift+m=new_split:right" "super+shift+k=resize_split:up,20" "super+shift+h=resize_split:left,20" "super+shift+j=resize_split:down,20" "super+shift+l=resize_split:right,20" "super+shift+k=resize_split:up,20" "super+shift+h=resize_split:left,20" "super+shift+j=resize_split:down,20" "super+shift+l=resize_split:right,20" "ctrl+shift+k=goto_split:up" "ctrl+shift+h=goto_split:left" "ctrl+shift+j=goto_split:down" "ctrl+shift+l=goto_split:right" ] else [ "ctrl+shift+t=new_window" "ctrl+shift+n=new_window" "ctrl+shift+m=new_window" ]; "ctrl+shift+k=goto_split:up" "ctrl+shift+h=goto_split:left" "ctrl+shift+j=goto_split:down" "ctrl+shift+l=goto_split:right" ] else [ "ctrl+shift+t=new_window" "ctrl+shift+n=new_window" "ctrl+shift+m=new_window" ]; }; };
-
-
-
@@ -16,7 +16,12 @@ ## === # Home Manager stuffs { pkgs, lib, config, ... }: { pkgs, lib, config, ... }: let cfg = config.features.home; in
-
@@ -71,12 +76,10 @@ homeDirectory = "${homeDir}/${username}";# `sessionVariables` does not accept `null` as an attribute value. # Need to manually filter out `null` values. sessionVariables = lib.attrsets.filterAttrs (name: value: value != null) { TZ = cfg.timezone; LC_ALL = cfg.locale; }; sessionVariables = lib.attrsets.filterAttrs (name: value: value != null) { TZ = cfg.timezone; LC_ALL = cfg.locale; }; }; }; }
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { lib, pkgs, config, ... }: { lib, pkgs, config, ... }: let cfg = config.features.identity; in
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { pkgs, lib, config, ... }: { pkgs, lib, config, ... }: let cfg = config.features.scm-server; in
-
@@ -132,7 +137,7 @@ Type = "simple";Restart = "always"; RestartSec = 1; ExecStart = "${pkgs.legit-web}/bin/legit --config=${config.xdg.configHome}/legit/config.yaml"; Environment = "PATH=$PATH:${lib.makeBinPath [pkgs.git] }"; Environment = "PATH=$PATH:${lib.makeBinPath [ pkgs.git ]}"; }; Install = {
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { pkgs, lib, config, ... }: { pkgs, lib, config, ... }: let cfg = config.features.scm; in
-
@@ -57,10 +62,13 @@ userName = config.features.identity.name;userEmail = config.features.identity.email; signing = if (config.features.identity.gpgSigningKeyId != null) then { key = config.features.identity.gpgSigningKeyId; signByDefault = true; } else null; if (config.features.identity.gpgSigningKeyId != null) then { key = config.features.identity.gpgSigningKeyId; signByDefault = true; } else null; extraConfig = { core = {
-
@@ -83,13 +91,14 @@ nvim = if config.programs.neovim.enable then [ ".*.swp" ] else [ ];# https://github.com/github/gitignore/blob/main/Global/macOS.gitignore darwin = if pkgs.stdenv.isDarwin then [ ".DS_Store" ".AppleDouble" ".LSOverride" ] else [ ]; if pkgs.stdenv.isDarwin then [ ".DS_Store" ".AppleDouble" ".LSOverride" ] else [ ]; in nvim ++ darwin ++ bazel; };
-
@@ -111,7 +120,12 @@ key = config.features.identity.gpgSigningKeyId;}; ui = lib.mkIf config.features.dev.enable { diff-formatter = [ "difft" "--color=always" "$left" "$right" ]; diff-formatter = [ "difft" "--color=always" "$left" "$right" ]; }; revsets = {
-
@@ -126,7 +140,11 @@ aliases = {# JJ by default sets incorrect author date (when "a work started" instead of "authored",) # because how it works internally (updating a git commit.) This command is to workaround # that design flaw by manually mark author date, like "git commit". author = [ "desc" "--no-edit" "--reset-author" ]; author = [ "desc" "--no-edit" "--reset-author" ]; au = [ "author" ]; }; };
-
@@ -144,7 +162,10 @@ version = pkgs.fossil.version;src = pkgs.fossil.src; phases = [ "unpackPhase" "installPhase" ]; phases = [ "unpackPhase" "installPhase" ]; nativeBuildInputs = [ pkgs.installShellFiles ];
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { pkgs, lib, config, ... }: { pkgs, lib, config, ... }: let cfg = config.features.syncthing; in
-
-
-
@@ -16,7 +16,12 @@ ## === # Wayland Desktop Environment { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { options.features.wayland-de = { enable = lib.mkEnableOption "WaylandDE";
-
@@ -47,8 +52,6 @@ # Users need to explicitly set the env (it sucks).MOZ_ENABLE_WAYLAND = "1"; }; features.wayland-de.niri.spawn-at-startup = [ [ "${pkgs.waybar}/bin/waybar" ] ]; features.wayland-de.niri.spawn-at-startup = [ [ "${pkgs.waybar}/bin/waybar" ] ]; }; }
-
-
-
@@ -13,22 +13,26 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { services = lib.mkIf config.features.wayland-de.enable { dunst = { enable = true; { config, lib, pkgs, ... }: { services = lib.mkIf config.features.wayland-de.enable { dunst = { enable = true; settings = { global = { follow = "keyboard"; settings = { global = { follow = "keyboard"; mouse_left_click = "do_action"; mouse_middle_click = "close_current"; mouse_right_click = "context"; }; mouse_left_click = "do_action"; mouse_middle_click = "close_current"; mouse_right_click = "context"; }; }; }; }; }
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let wayland-de = config.features.wayland-de; in
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { config = lib.mkIf config.features.wayland-de.enable { home.packages = [
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let cfg = config.features.wayland-de.niri;
-
@@ -32,16 +37,16 @@ };}; }; serializeOutput = background-color: o: '' output "${o.name}" { scale ${builtins.toString o.scale} ${if background-color == null then "//no bg" else "background-color \"${background-color}\""} serializeOutput = background-color: o: '' output "${o.name}" { scale ${builtins.toString o.scale} ${ if background-color == null then "//no bg" else "background-color \"${background-color}\"" } ''; } ''; serializeSpawnArg = a: builtins.concatStringsSep " " (builtins.map (s: "\"${s}\"") a); serializeSpawnArg = a: builtins.concatStringsSep " " (builtins.map (s: "\"${s}\"") a); in { options = {
-
@@ -96,7 +101,11 @@ default = 16;}; center-focused-column = lib.mkOption { type = lib.types.enum [ "never" "always" "on-overflow" ]; type = lib.types.enum [ "never" "always" "on-overflow" ]; description = '' When to center a column when changing focus, options are: - "never", default behavior, focusing an off-screen column will keep at the left
-
@@ -341,12 +350,16 @@ click-method "clickfinger"} } ${lib.strings.concatStringsSep "\n" (builtins.map (serializeOutput cfg.background-color) cfg.outputs)} ${lib.strings.concatStringsSep "\n" ( builtins.map (serializeOutput cfg.background-color) cfg.outputs )} overview { ${if cfg.overview.backdrop-color != null then "backdrop-color \"${cfg.overview.backdrop-color}\"" else "// No backdrop-color" ${ if cfg.overview.backdrop-color != null then "backdrop-color \"${cfg.overview.backdrop-color}\"" else "// No backdrop-color" } workspace-shadow {
-
@@ -439,10 +452,12 @@ clip-to-geometry true} hotkey-overlay { ${if cfg.hotkey-overlay.skip-at-startup then "" else "//" }skip-at-startup ${if cfg.hotkey-overlay.skip-at-startup then "" else "//"}skip-at-startup } ${builtins.concatStringsSep "\n" (builtins.map (a: "spawn-at-startup ${serializeSpawnArg a}") cfg.spawn-at-startup)} ${builtins.concatStringsSep "\n" ( builtins.map (a: "spawn-at-startup ${serializeSpawnArg a}") cfg.spawn-at-startup )} binds { Mod+Shift+Slash { show-hotkey-overlay; }
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let cfg = config.features.wayland-de.swaylock; in
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: { options = { features.wayland-de.walker = {
-
-
-
@@ -50,22 +50,22 @@ #label,#bar, #sub, #activationlabel { all: unset; all: unset; } #cfgerr { background: rgba(255, 0, 0, 0.4); margin-top: 20px; padding: 8px; font-size: 1.2em; background: rgba(255, 0, 0, 0.4); margin-top: 20px; padding: 8px; font-size: 1.2em; } #box { padding: var(--spacing-lg); border: 1px solid var(--border-color, var(--border-color-fallback)); padding: var(--spacing-lg); border: 1px solid var(--border-color, var(--border-color-fallback)); background: var(--background-color, var(--background-color-fallback)); border-radius: var(--radius-md); background: var(--background-color, var(--background-color-fallback)); border-radius: var(--radius-md); box-shadow: 0 4px 8px oklch(0% 0% 0deg / 0.1); color: var(--foreground-color, var(--foreground-color-fallback)); }
-
@@ -74,17 +74,25 @@ #search {padding: var(--spacing-md); background: var(--surface-background-color, var(--surface-background-color-fallback)); border-radius: var(--radius-sm); border-radius: var(--radius-sm); } child { padding: var(--spacing-md); border-radius: var(--radius-sm); border-radius: var(--radius-sm); } child:selected, child:hover { background: oklch(from var(--surface-background-color) calc(l + var(--color-overlay-modifier)) c h / var(--color-overlay-opacity)); background: oklch( from var(--surface-background-color) calc(l + var(--color-overlay-modifier)) c h / var(--color-overlay-opacity) ); } #sub {
-
-
-
@@ -13,7 +13,13 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { { config, lib, pkgs, ... }: { config = lib.mkIf config.features.wayland-de.enable { home.packages = [ # /programs/waybar-text
-
@@ -29,7 +35,11 @@ main = {layer = "top"; modules-left = [ "custom/todo" ]; modules-right = [ "clock" "pulseaudio" "tray" ]; modules-right = [ "clock" "pulseaudio" "tray" ]; clock = { # waybar can't read $TZ. Maybe a bug with Nix environment?
-
@@ -56,4 +66,3 @@ };}; }; }
-
-
-
@@ -41,23 +41,23 @@ };}; outputs = { self , nixpkgs , home-manager , nur , mac-app-util , nixgl , { self, nixpkgs, home-manager, nur, mac-app-util, nixgl, }: let mkHomeConfiguration = { # Platform (e.g. x86_64-linux) system , # Machine specific module setting module ? { } , # Color theme theme ? ./themes/catppuccin system, # Machine specific module setting module ? { }, # Color theme theme ? ./themes/catppuccin, }: home-manager.lib.homeManagerConfiguration rec { pkgs = import nixpkgs {
-
@@ -74,13 +74,14 @@ })]; }; modules = [ # Fix Home-Manager on MacOS cannot register GUI applications and Spotlight # won't find those applications. mac-app-util.homeManagerModules.default ./features ({ config, ... }: rec { modules = [ # Fix Home-Manager on MacOS cannot register GUI applications and Spotlight # won't find those applications. mac-app-util.homeManagerModules.default ./features ( { config, ... }: rec { # Turn off Home Manager news bs news.display = "silent";
-
@@ -135,10 +136,11 @@ wayland-de = {ime.enable = true; }; }; }) module theme ]; } ) module theme ]; }; availableSystems = [
-
@@ -159,7 +161,10 @@ nixGL.defaultWrapper = "mesa";nixGL.installScripts = [ "mesa" ]; features.wayland-de.niri.outputs = [ { name = "HDMI-A-1"; scale = 1.4; } { name = "HDMI-A-1"; scale = 1.4; } ]; }; };
-
@@ -209,28 +214,26 @@ };}; devShell = builtins.listToAttrs ( builtins.map (system: let pkgs = nixpkgs.legacyPackages.${system}; in { name = system; value = pkgs.mkShell { packages = with pkgs; [ sunwait tzdata glib zig go dprint nixfmt-rfc-style ]; }; } ) availableSystems builtins.map ( system: let pkgs = nixpkgs.legacyPackages.${system}; in { name = system; value = pkgs.mkShell { packages = with pkgs; [ sunwait tzdata glib zig go dprint nixfmt-rfc-style ]; }; } ) availableSystems ); }; }
-
-
-
@@ -13,8 +13,7 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD final: prev: { final: prev: { atkinson-hyperlegible-next = prev.atkinson-hyperlegible-next.overrideAttrs (old: { installPhase = '' runHook preInstall
-
-
-
@@ -13,8 +13,7 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD final: prev: { final: prev: { legit-web = prev.legit-web.overrideAttrs (old: { src = prev.fetchFromGitHub { owner = "pocka";
-
@@ -26,4 +25,3 @@vendorHash = "sha256-QxkMxO8uzBCC3oMSWjdVsbR2cluYMx5OOKTgaNOLHxc="; }); }
-
-
-
@@ -14,7 +14,12 @@ # limitations under the License.# # SPDX-License-Identifier: Apache-2.0 { pkgs, installShellFiles, lib, buildGoModule }: { pkgs, installShellFiles, lib, buildGoModule, }: buildGoModule rec { name = "hm-clean";
-
@@ -24,9 +29,7 @@ nativeBuildInputs = [ installShellFiles ];vendorHash = null; ldflags = [ "-X main.homeManagerPath=${pkgs.home-manager}/bin/home-manager" ]; ldflags = [ "-X main.homeManagerPath=${pkgs.home-manager}/bin/home-manager" ]; postInstall = '' installShellCompletion --zsh --cmd ${name} <(cat << "EOF"
-
-
-
@@ -14,17 +14,30 @@ # limitations under the License.# # SPDX-License-Identifier: Apache-2.0 { glib, sunwait, tzdata, pkg-config, stdenvNoCC, installShellFiles, zig }: { glib, sunwait, tzdata, pkg-config, stdenvNoCC, installShellFiles, zig, }: stdenvNoCC.mkDerivation rec { pname = "my-theme"; version = "1.0.0"; buildInputs = [ glib tzdata ]; nativeBuildInputs = [ pkg-config zig.hook installShellFiles ]; zigBuildFlags = [ "-Dtzdir=${tzdata}/share/zoneinfo" buildInputs = [ glib tzdata ]; nativeBuildInputs = [ pkg-config zig.hook installShellFiles ]; zigBuildFlags = [ "-Dtzdir=${tzdata}/share/zoneinfo" ]; src = ./.;
-
-
-
@@ -18,21 +18,21 @@ # Shell for using home-manager & Flakes without installing/configuring.# Based on: # https://github.com/Misterio77/nix-config/blob/68939a161c97bb875fb1ead17c172c36de24bd01/shell.nix { pkgs ? let lock = ( builtins.fromJSON (builtins.readFile ./flake.lock) ).nodes.nixpkgs.locked; { pkgs ? let lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked; # Pin nixpkgs, so the shell can be invoked without channels nixpkgs = fetchTarball { url = "https://github.com/${lock.owner}/${lock.repo}/archive/${lock.rev}.tar.gz"; sha256 = lock.narHash; }; in import nixpkgs { overlays = [ ]; } , ... }: { # Pin nixpkgs, so the shell can be invoked without channels nixpkgs = fetchTarball { url = "https://github.com/${lock.owner}/${lock.repo}/archive/${lock.rev}.tar.gz"; sha256 = lock.narHash; }; in import nixpkgs { overlays = [ ]; }, ... }: { default = pkgs.mkShell { shellHook = '' export NIX_CONFIG="experimental-features = nix-command flakes"
-
-
-
@@ -13,7 +13,12 @@ # PERFORMANCE OF THIS SOFTWARE.# # SPDX-License-Identifier: 0BSD { config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let cfg = config.themes.catppuccin;
-
@@ -43,26 +48,23 @@ };config = let json = builtins.fromJSON (builtins.readFile ( pkgs.fetchFromGitHub { json = builtins.fromJSON ( builtins.readFile ( pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "palette"; rev = "205dd54c6158b7648621cf9fd00e91f03888ce7e"; sha256 = "y14fd8lvnG9hNY6CRU0JgxWouexEw91aIEMkr1NaM/4="; } + "/palette.json" )); + "/palette.json" ) ); flavor = json."${cfg.flavor}"; stripSharp = hex: lib.strings.removePrefix "#" hex; darkFlavor = if cfg.flavor == "latte" then "mocha" else cfg.flavor; darkFlavor = if cfg.flavor == "latte" then "mocha" else cfg.flavor; dark = json."${darkFlavor}"; light = json.latte;
-
@@ -252,11 +254,7 @@ };programs.ghostty = let darkFlavor = if cfg.flavor == "latte" then "mocha" else cfg.flavor; darkFlavor = if cfg.flavor == "latte" then "mocha" else cfg.flavor; in { settings = {
-