From 3427bb888a3238a9a0bf29e83b0943c554b458cb Mon Sep 17 00:00:00 2001 From: noriah Date: Thu, 20 Feb 2025 02:46:55 -0800 Subject: [PATCH] moving along... at 2:47 am --- etc/nix/home/apps/helix.nix | 32 ------- etc/nix/home/home.nix | 5 +- etc/nix/home/hosts/default.nix | 1 + etc/nix/home/hosts/niji.nix | 9 +- etc/nix/home/hosts/unknown.nix | 2 +- etc/nix/home/hosts/vyxn.nix | 58 +++++++++++++ etc/nix/home/{ => modules}/apps/alacritty.nix | 0 etc/nix/home/{ => modules}/apps/default.nix | 0 etc/nix/home/{ => modules}/apps/git.nix | 0 etc/nix/home/{ => modules}/apps/gnome.nix | 0 etc/nix/home/{ => modules}/apps/go.nix | 20 +++-- etc/nix/home/modules/apps/helix.nix | 78 +++++++++++++++++ etc/nix/home/{ => modules}/apps/hyprland.nix | 0 etc/nix/home/{ => modules}/apps/i3.nix | 0 etc/nix/home/{ => modules}/apps/julia.nix | 0 etc/nix/home/{ => modules}/apps/neofetch.nix | 0 etc/nix/home/{ => modules}/apps/openrgb.nix | 2 +- etc/nix/home/{ => modules}/apps/polybar.nix | 0 etc/nix/home/{ => modules}/apps/rust.nix | 4 +- etc/nix/home/{ => modules}/apps/tor.nix | 0 etc/nix/home/{ => modules}/apps/wezterm.nix | 0 etc/nix/home/modules/comfy.nix | 17 ---- etc/nix/home/modules/default.nix | 11 ++- etc/nix/home/{ => modules}/den.nix | 21 ++--- etc/nix/home/modules/packs/comfy.nix | 21 +++++ etc/nix/home/modules/packs/default.nix | 11 +++ .../home/modules/{ => packs}/development.nix | 6 +- etc/nix/home/modules/{ => packs}/fonts.nix | 4 +- etc/nix/home/modules/{ => packs}/media.nix | 6 +- etc/nix/home/modules/{ => packs}/x11.nix | 4 +- etc/nix/home/modules/packs/xdg.nix | 85 +++++++++++++++++++ etc/nix/home/modules/shell.nix | 38 ++++++--- etc/nix/home/modules/workspace.nix | 27 ++++++ etc/nix/home/modules/xdg.nix | 66 -------------- etc/nix/{home => }/packages/default.nix | 0 .../packages/openrgb-plugin-effects.nix | 0 .../packages/openrgb-plugin-visual-map.nix | 0 etc/nix/{home => }/packages/openrgb.nix | 0 etc/zsh/zshenv | 23 +---- 39 files changed, 360 insertions(+), 191 deletions(-) delete mode 100644 etc/nix/home/apps/helix.nix create mode 100644 etc/nix/home/hosts/vyxn.nix rename etc/nix/home/{ => modules}/apps/alacritty.nix (100%) rename etc/nix/home/{ => modules}/apps/default.nix (100%) rename etc/nix/home/{ => modules}/apps/git.nix (100%) rename etc/nix/home/{ => modules}/apps/gnome.nix (100%) rename etc/nix/home/{ => modules}/apps/go.nix (51%) create mode 100644 etc/nix/home/modules/apps/helix.nix rename etc/nix/home/{ => modules}/apps/hyprland.nix (100%) rename etc/nix/home/{ => modules}/apps/i3.nix (100%) rename etc/nix/home/{ => modules}/apps/julia.nix (100%) rename etc/nix/home/{ => modules}/apps/neofetch.nix (100%) rename etc/nix/home/{ => modules}/apps/openrgb.nix (94%) rename etc/nix/home/{ => modules}/apps/polybar.nix (100%) rename etc/nix/home/{ => modules}/apps/rust.nix (92%) rename etc/nix/home/{ => modules}/apps/tor.nix (100%) rename etc/nix/home/{ => modules}/apps/wezterm.nix (100%) delete mode 100644 etc/nix/home/modules/comfy.nix rename etc/nix/home/{ => modules}/den.nix (89%) create mode 100644 etc/nix/home/modules/packs/comfy.nix create mode 100644 etc/nix/home/modules/packs/default.nix rename etc/nix/home/modules/{ => packs}/development.nix (85%) rename etc/nix/home/modules/{ => packs}/fonts.nix (87%) rename etc/nix/home/modules/{ => packs}/media.nix (89%) rename etc/nix/home/modules/{ => packs}/x11.nix (66%) create mode 100644 etc/nix/home/modules/packs/xdg.nix create mode 100644 etc/nix/home/modules/workspace.nix delete mode 100644 etc/nix/home/modules/xdg.nix rename etc/nix/{home => }/packages/default.nix (100%) rename etc/nix/{home => }/packages/openrgb-plugin-effects.nix (100%) rename etc/nix/{home => }/packages/openrgb-plugin-visual-map.nix (100%) rename etc/nix/{home => }/packages/openrgb.nix (100%) diff --git a/etc/nix/home/apps/helix.nix b/etc/nix/home/apps/helix.nix deleted file mode 100644 index 73a342d..0000000 --- a/etc/nix/home/apps/helix.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -with lib; -let - cfg = config.den.apps.helix; -in -{ - options.den.apps.helix.enable = mkEnableOption "helix"; - - config = mkIf cfg.enable { - - programs.helix = { - enable = true; - settings = { - theme = "monokai"; - editor.lsp.display-inlay-hints = true; - }; - - languages.language = [ - { - name = "nix"; - auto-format = true; - formatter.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt"; - } - ]; - }; - }; -} diff --git a/etc/nix/home/home.nix b/etc/nix/home/home.nix index 89625a1..395e044 100644 --- a/etc/nix/home/home.nix +++ b/etc/nix/home/home.nix @@ -1,6 +1,9 @@ { ... }: { - imports = [ ./den.nix ]; + imports = [ + ./hosts + ./modules + ]; den.enable = true; den.user = "vix"; diff --git a/etc/nix/home/hosts/default.nix b/etc/nix/home/hosts/default.nix index 0ee971e..7aa82b8 100644 --- a/etc/nix/home/hosts/default.nix +++ b/etc/nix/home/hosts/default.nix @@ -4,5 +4,6 @@ ./unknown.nix ./niji.nix + ./vyxn.nix ]; } diff --git a/etc/nix/home/hosts/niji.nix b/etc/nix/home/hosts/niji.nix index 81423e6..cadc2b5 100644 --- a/etc/nix/home/hosts/niji.nix +++ b/etc/nix/home/hosts/niji.nix @@ -15,20 +15,27 @@ in config = mkIf cfg.enable { den = { + dir.self = "${config.den.dir.home}/den"; + dir.opt = "${config.den.dir.home}/.opt"; + apps = { alacritty.enable = true; gnome.enable = true; openrgb.enable = true; polybar.enable = true; tor.enable = true; + + go.goPath = ".opt/go"; }; - modules = { + packs = { comfy.enable = true; development.enable = true; fonts.enable = true; media.enable = true; + xdg.enable = true; + xdg.userDirRoot = "${config.den.dir.home}/stuff"; }; }; diff --git a/etc/nix/home/hosts/unknown.nix b/etc/nix/home/hosts/unknown.nix index 17ec638..5034ec0 100644 --- a/etc/nix/home/hosts/unknown.nix +++ b/etc/nix/home/hosts/unknown.nix @@ -14,7 +14,7 @@ in }; config = mkIf cfg.enable { - den.modules = { + den.packs = { comfy.enable = true; }; diff --git a/etc/nix/home/hosts/vyxn.nix b/etc/nix/home/hosts/vyxn.nix new file mode 100644 index 0000000..0a3a625 --- /dev/null +++ b/etc/nix/home/hosts/vyxn.nix @@ -0,0 +1,58 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.den.hosts.vyxn; +in +{ + options.den.hosts.vyxn = { + enable = mkEnableOption "vyxn host"; + }; + + config = mkIf cfg.enable { + den = { + apps = { + alacritty.enable = true; + tor.enable = true; + }; + + packs = { + comfy.enable = true; + development.enable = true; + }; + }; + + home.packages = with pkgs; [ + zip + wmctrl + + # installed globally + # _1password-cli + # _1password-gui + + # net util + rdap + whois + subnetcalc + dnsutils + nmap + + kitty + + vscode + ]; + + # services.syncthing.enable = true; + + # programs.gpg.enable = true; + + # services.gpg-agent = { + # enable = true; + # pinentryPackage = pkgs.pinentry-gnome3; + # }; + }; +} diff --git a/etc/nix/home/apps/alacritty.nix b/etc/nix/home/modules/apps/alacritty.nix similarity index 100% rename from etc/nix/home/apps/alacritty.nix rename to etc/nix/home/modules/apps/alacritty.nix diff --git a/etc/nix/home/apps/default.nix b/etc/nix/home/modules/apps/default.nix similarity index 100% rename from etc/nix/home/apps/default.nix rename to etc/nix/home/modules/apps/default.nix diff --git a/etc/nix/home/apps/git.nix b/etc/nix/home/modules/apps/git.nix similarity index 100% rename from etc/nix/home/apps/git.nix rename to etc/nix/home/modules/apps/git.nix diff --git a/etc/nix/home/apps/gnome.nix b/etc/nix/home/modules/apps/gnome.nix similarity index 100% rename from etc/nix/home/apps/gnome.nix rename to etc/nix/home/modules/apps/gnome.nix diff --git a/etc/nix/home/apps/go.nix b/etc/nix/home/modules/apps/go.nix similarity index 51% rename from etc/nix/home/apps/go.nix rename to etc/nix/home/modules/apps/go.nix index 8fd5e7b..2abd44b 100644 --- a/etc/nix/home/apps/go.nix +++ b/etc/nix/home/modules/apps/go.nix @@ -6,22 +6,28 @@ }: with lib; let + # https://github.com/nix-community/home-manager/blob/release-24.11/modules/programs/go.nix#L41 + goFullPath = "${config.home.homeDirectory}/${config.programs.go.goPath}"; cfg = config.den.apps.go; in { - options.den.apps.go.enable = mkEnableOption "golang"; + options.den.apps.go = { + enable = mkEnableOption "golang"; + + goPath = mkOption { + type = types.str; + default = "opt/go"; + }; + }; config = mkIf cfg.enable { programs.go = { - enable = true; - goPath = "opt/go"; + enable = mkDefault true; + goPath = mkDefault cfg.goPath; }; - home.sessionPath = [ - # go paths - "${config.programs.go.goPath}/bin" - ]; + home.sessionPath = [ "${goFullPath}/bin" ]; programs.helix.languages = { language-server.gopls.command = "${pkgs.gopls}/bin/gopls"; diff --git a/etc/nix/home/modules/apps/helix.nix b/etc/nix/home/modules/apps/helix.nix new file mode 100644 index 0000000..c90aeb4 --- /dev/null +++ b/etc/nix/home/modules/apps/helix.nix @@ -0,0 +1,78 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.den.apps.helix; +in +{ + options.den.apps.helix.enable = mkEnableOption "helix"; + + config = mkIf cfg.enable { + + home.packages = with pkgs; [ + nixd # nix lsp + marksman # markdown lsp + vscode-langservers-extracted + ]; + + programs.helix = { + enable = true; + + settings = { + theme = "monokai"; + editor.lsp.display-inlay-hints = true; + }; + + languages.language = [ + # nix + { + name = "nix"; + auto-format = true; + language-servers = [ "nixd" ]; + formatter.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt"; + } + # html + { + name = "html"; + language-servers = [ "vscode-html-language-server" ]; + formatter = { + command = "prettier"; + args = [ + "--stdin-filepath" + "file.html" + ]; + }; + auto-format = true; + } + # json + { + name = "json"; + language-servers = [ + { + name = "vscode-json-language-server"; + except-features = [ "format" ]; + } + ]; + auto-format = true; + } + # markdown + { + name = "markdown"; + language-servers = [ "marksman" ]; + formatter = { + command = "prettier"; + args = [ + "--stdin-filepath" + "file.md" + ]; + }; + auto-format = true; + } + ]; + }; + }; +} diff --git a/etc/nix/home/apps/hyprland.nix b/etc/nix/home/modules/apps/hyprland.nix similarity index 100% rename from etc/nix/home/apps/hyprland.nix rename to etc/nix/home/modules/apps/hyprland.nix diff --git a/etc/nix/home/apps/i3.nix b/etc/nix/home/modules/apps/i3.nix similarity index 100% rename from etc/nix/home/apps/i3.nix rename to etc/nix/home/modules/apps/i3.nix diff --git a/etc/nix/home/apps/julia.nix b/etc/nix/home/modules/apps/julia.nix similarity index 100% rename from etc/nix/home/apps/julia.nix rename to etc/nix/home/modules/apps/julia.nix diff --git a/etc/nix/home/apps/neofetch.nix b/etc/nix/home/modules/apps/neofetch.nix similarity index 100% rename from etc/nix/home/apps/neofetch.nix rename to etc/nix/home/modules/apps/neofetch.nix diff --git a/etc/nix/home/apps/openrgb.nix b/etc/nix/home/modules/apps/openrgb.nix similarity index 94% rename from etc/nix/home/apps/openrgb.nix rename to etc/nix/home/modules/apps/openrgb.nix index 62274b3..694df6b 100644 --- a/etc/nix/home/apps/openrgb.nix +++ b/etc/nix/home/modules/apps/openrgb.nix @@ -6,7 +6,7 @@ }: with lib; let - den_pkgs = pkgs.callPackage ../packages { }; + den_pkgs = pkgs.callPackage ../../../packages { }; cfg = config.den.apps.openrgb; in diff --git a/etc/nix/home/apps/polybar.nix b/etc/nix/home/modules/apps/polybar.nix similarity index 100% rename from etc/nix/home/apps/polybar.nix rename to etc/nix/home/modules/apps/polybar.nix diff --git a/etc/nix/home/apps/rust.nix b/etc/nix/home/modules/apps/rust.nix similarity index 92% rename from etc/nix/home/apps/rust.nix rename to etc/nix/home/modules/apps/rust.nix index b777f8c..825ff66 100644 --- a/etc/nix/home/apps/rust.nix +++ b/etc/nix/home/modules/apps/rust.nix @@ -13,9 +13,7 @@ in config = mkIf cfg.enable { - home.packages = [ - pkgs.rust-analyzer - ]; + home.packages = [ pkgs.rust-analyzer ]; home.sessionVariables = { RUSTUP_HOME = "${config.den.dir.opt}/rustup"; diff --git a/etc/nix/home/apps/tor.nix b/etc/nix/home/modules/apps/tor.nix similarity index 100% rename from etc/nix/home/apps/tor.nix rename to etc/nix/home/modules/apps/tor.nix diff --git a/etc/nix/home/apps/wezterm.nix b/etc/nix/home/modules/apps/wezterm.nix similarity index 100% rename from etc/nix/home/apps/wezterm.nix rename to etc/nix/home/modules/apps/wezterm.nix diff --git a/etc/nix/home/modules/comfy.nix b/etc/nix/home/modules/comfy.nix deleted file mode 100644 index 2ed7b89..0000000 --- a/etc/nix/home/modules/comfy.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -with lib; -let - cfg = config.den.modules.comfy; -in -{ - options.den.modules.comfy.enable = mkEnableOption "comfy module"; - - config = mkIf cfg.enable { - den.apps.neofetch.enable = true; - }; -} diff --git a/etc/nix/home/modules/default.nix b/etc/nix/home/modules/default.nix index aeab3f4..a0a6101 100644 --- a/etc/nix/home/modules/default.nix +++ b/etc/nix/home/modules/default.nix @@ -1,12 +1,11 @@ { ... }: { imports = [ - ./comfy.nix - ./development.nix - ./fonts.nix - ./media.nix + ./den.nix ./shell.nix - ./x11.nix - ./xdg.nix + ./workspace.nix + + ./apps + ./packs ]; } diff --git a/etc/nix/home/den.nix b/etc/nix/home/modules/den.nix similarity index 89% rename from etc/nix/home/den.nix rename to etc/nix/home/modules/den.nix index 4b4c780..86090a5 100644 --- a/etc/nix/home/den.nix +++ b/etc/nix/home/modules/den.nix @@ -19,12 +19,6 @@ let cfg = config.den; in { - imports = [ - ./apps - ./hosts - ./modules - ]; - options.den = { enable = mkOption { type = types.bool; @@ -45,7 +39,7 @@ in dir = { self = mkOption { type = types.path; - default = "${cfg.dir.home}/den"; + default = "${cfg.dir.opt}/den"; }; home = mkOption { @@ -84,13 +78,11 @@ in config = mkIf cfg.enable { - # enable some modules by default - den.modules = { - shell = { - enable = true; - aliases = { - hm = "home-manager"; - }; + # enable some packs by default + den.shell = { + enable = true; + aliases = { + hm = "home-manager"; }; }; @@ -114,7 +106,6 @@ in home.sessionPath = [ "${cfg.dir.self}/bin" - "${cfg.dir.home}/bin" "${cfg.dir.home}/rbin" ]; diff --git a/etc/nix/home/modules/packs/comfy.nix b/etc/nix/home/modules/packs/comfy.nix new file mode 100644 index 0000000..02915d2 --- /dev/null +++ b/etc/nix/home/modules/packs/comfy.nix @@ -0,0 +1,21 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.den.packs.comfy; +in +{ + options.den.packs.comfy.enable = mkEnableOption "comfy module"; + + config = mkIf cfg.enable { + den.apps = { + neofetch.enable = true; + }; + + den.packs = { }; + }; +} diff --git a/etc/nix/home/modules/packs/default.nix b/etc/nix/home/modules/packs/default.nix new file mode 100644 index 0000000..8f667d0 --- /dev/null +++ b/etc/nix/home/modules/packs/default.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + imports = [ + ./comfy.nix + ./development.nix + ./fonts.nix + ./media.nix + ./x11.nix + ./xdg.nix + ]; +} diff --git a/etc/nix/home/modules/development.nix b/etc/nix/home/modules/packs/development.nix similarity index 85% rename from etc/nix/home/modules/development.nix rename to etc/nix/home/modules/packs/development.nix index 857640f..0fbb37c 100644 --- a/etc/nix/home/modules/development.nix +++ b/etc/nix/home/modules/packs/development.nix @@ -6,10 +6,10 @@ }: with lib; let - cfg = config.den.modules.development; + cfg = config.den.packs.development; in { - options.den.modules.development.enable = mkEnableOption "development module"; + options.den.packs.development.enable = mkEnableOption "development module"; config = mkIf cfg.enable { den.apps = { @@ -20,7 +20,7 @@ in rust.enable = true; }; - den.modules.shell.aliases = { + den.shell.aliases = { base16 = "xxd -c 0 -ps"; }; diff --git a/etc/nix/home/modules/fonts.nix b/etc/nix/home/modules/packs/fonts.nix similarity index 87% rename from etc/nix/home/modules/fonts.nix rename to etc/nix/home/modules/packs/fonts.nix index 809cecc..85e6fad 100644 --- a/etc/nix/home/modules/fonts.nix +++ b/etc/nix/home/modules/packs/fonts.nix @@ -6,10 +6,10 @@ }: with lib; let - cfg = config.den.modules.fonts; + cfg = config.den.packs.fonts; in { - options.den.modules.fonts.enable = mkEnableOption "fonts module"; + options.den.packs.fonts.enable = mkEnableOption "fonts module"; config = mkIf cfg.enable { diff --git a/etc/nix/home/modules/media.nix b/etc/nix/home/modules/packs/media.nix similarity index 89% rename from etc/nix/home/modules/media.nix rename to etc/nix/home/modules/packs/media.nix index 1def2a5..21fc8fd 100644 --- a/etc/nix/home/modules/media.nix +++ b/etc/nix/home/modules/packs/media.nix @@ -6,12 +6,12 @@ }: with lib; let - den_pkgs = pkgs.callPackage ../packages { }; + den_pkgs = pkgs.callPackage ../../../packages { }; - cfg = config.den.modules.media; + cfg = config.den.packs.media; in { - options.den.modules.media.enable = mkEnableOption "media module"; + options.den.packs.media.enable = mkEnableOption "media module"; config = mkIf cfg.enable { diff --git a/etc/nix/home/modules/x11.nix b/etc/nix/home/modules/packs/x11.nix similarity index 66% rename from etc/nix/home/modules/x11.nix rename to etc/nix/home/modules/packs/x11.nix index 8be1438..c17e145 100644 --- a/etc/nix/home/modules/x11.nix +++ b/etc/nix/home/modules/packs/x11.nix @@ -6,10 +6,10 @@ }: with lib; let - cfg = config.den.modules.x11; + cfg = config.den.packs.x11; in { - options.den.modules.x11.enable = mkEnableOption "x11 module"; + options.den.packs.x11.enable = mkEnableOption "x11 module"; config = mkIf cfg.enable { home.file.".Xresources" = { diff --git a/etc/nix/home/modules/packs/xdg.nix b/etc/nix/home/modules/packs/xdg.nix new file mode 100644 index 0000000..0d589e6 --- /dev/null +++ b/etc/nix/home/modules/packs/xdg.nix @@ -0,0 +1,85 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.den.packs.xdg; +in +{ + + options.den.packs.xdg = { + enable = mkEnableOption "XDG module"; + + userDirRoot = mkOption { + type = types.path; + default = config.den.dir.home; + }; + + configHome = mkOption { + type = types.path; + default = "${config.den.dir.home}/.config"; + }; + + dataHome = mkOption { + type = types.path; + default = config.den.dir.var; + }; + + cacheHome = mkOption { + type = types.path; + default = "${cfg.dataHome}/cache"; + }; + + stateHome = mkOption { + type = types.path; + default = "${cfg.dataHome}/state"; + }; + + }; + + config = mkIf cfg.enable { + xdg.configHome = cfg.configHome; + xdg.cacheHome = cfg.cacheHome; + xdg.dataHome = cfg.dataHome; + xdg.stateHome = cfg.stateHome; + + home.preferXdgDirectories = true; + + home.sessionVariables = { + XDG_CONFIG_HOME = cfg.configHome; + XDG_CACHE_HOME = cfg.cacheHome; + XDG_DATA_HOME = cfg.dataHome; + XDG_DATA_DIRS = "$HOME/.nix-profile/share:$XDG_DATA_DIRS"; + XDG_STATE_HOME = cfg.stateHome; + }; + + xdg.configFile."user-dirs.conf" = { + text = "enabled=False\n"; + force = true; + }; + + xdg.userDirs = { + enable = true; + createDirectories = false; + + desktop = "${cfg.userDirRoot}/desktop"; + download = "${cfg.userDirRoot}/downloads"; + documents = "${cfg.userDirRoot}/documents"; + pictures = "${cfg.userDirRoot}/pictures"; + music = "${cfg.userDirRoot}/music"; + videos = "${cfg.userDirRoot}/videos"; + + templates = "${cfg.userDirRoot}/templates"; + + publicShare = "${cfg.userDirRoot}/public"; + }; + + xdg.dataFile.applications = { + source = "${config.den.dir.share}/applications"; + recursive = true; + }; + }; +} diff --git a/etc/nix/home/modules/shell.nix b/etc/nix/home/modules/shell.nix index 886bffb..197bb78 100644 --- a/etc/nix/home/modules/shell.nix +++ b/etc/nix/home/modules/shell.nix @@ -6,27 +6,28 @@ }: with lib; let - cfg = config.den.modules.shell; + envVarsStr = config.lib.zsh.exportAll cfg.envVariables; aliasesStr = concatStringsSep "\n" ( mapAttrsToList (k: v: "alias -- ${lib.escapeShellArg k}=${lib.escapeShellArg v}") cfg.aliases ) + "\n"; + + cfg = config.den.shell; in { - options.den.modules.shell = { + options.den.shell = { enable = mkEnableOption "shell module"; + envVariables = mkOption { + type = types.attrs; + default = { }; + }; + aliases = mkOption { type = types.attrsOf types.str; default = { }; - example = literalExpression '' - { - g = "git"; - "..." = "cd ../.."; - } - ''; }; }; @@ -35,8 +36,16 @@ in bat jq neofetch + tmux ]; + den.shell.envVariables = { + HOME_ETC = config.den.dir.etc; + HOME_OPT = config.den.dir.opt; + HOME_SHARE = config.den.dir.share; + HOME_VAR = config.den.dir.var; + }; + home.shellAliases = { hm = "home-manager"; }; @@ -46,13 +55,20 @@ in home.file = { zshrc = { target = ".zshrc"; - text = ". ${config.den.dir.etc}/zsh/zshrc"; + text = ". ${config.den.dir.etc}/zsh/zshrc\n"; force = true; }; zshenv = { target = ".zshenv"; text = '' + . "${config.home.profileDirectory}/etc/profile.d/hm-session-vars.sh" + + if [[ -z "$__DEN_SHELL_ENV_VARS_SOURCED" ]]; then + export __DEN_SHELL_ENV_VARS_SOURCED=1 + ${envVarsStr} + fi + . ${config.den.dir.home}/.profile . ${config.den.dir.etc}/zsh/zshenv ''; @@ -73,7 +89,9 @@ in selected-editor = { target = ".selected_editor"; - text = "SELECTED_EDITOR=\"${config.den.editorBin}\"\n"; + text = '' + SELECTED_EDITOR="${config.den.editorBin}" + ''; force = true; }; diff --git a/etc/nix/home/modules/workspace.nix b/etc/nix/home/modules/workspace.nix new file mode 100644 index 0000000..6371397 --- /dev/null +++ b/etc/nix/home/modules/workspace.nix @@ -0,0 +1,27 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.den.workspace; +in +{ + options.den.workspace = { + enable = mkEnableOption "workspaces"; + + dirPath = mkOption { + type = types.path; + default = "${config.den.dir.home}/workspace"; + }; + }; + + config = mkIf cfg.enable { + systemd.user.tmpfiles.rules = [ + "d ${cfg.dirPath} 0755 ${config.den.user} ${config.den.user}" + ]; + + }; +} diff --git a/etc/nix/home/modules/xdg.nix b/etc/nix/home/modules/xdg.nix deleted file mode 100644 index 218fa70..0000000 --- a/etc/nix/home/modules/xdg.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -with lib; -let - cfg = config.den.modules.xdg; -in -{ - - options.den.modules.xdg = { - enable = mkEnableOption "XDG module"; - - configHome = mkOption { - type = types.path; - default = "${config.den.dir.home}/.config"; - }; - - dataHome = mkOption { - type = types.path; - default = "${config.den.dir.home}/var"; - }; - }; - - config = mkIf cfg.enable { - xdg.configHome = cfg.configHome; - xdg.dataHome = cfg.dataHome; - xdg.cacheHome = "${cfg.dataHome}/cache"; - xdg.stateHome = "${cfg.dataHome}/state"; - - home.preferXdgDirectories = true; - - home.sessionVariables = { - XDG_CONFIG_HOME = "${config.xdg.configHome}"; - XDG_DATA_DIRS = "$HOME/.nix-profile/share:$XDG_DATA_DIRS"; - }; - - xdg.configFile."user-dirs.conf" = { - text = "enabled=False\n"; - force = true; - }; - - xdg.userDirs = { - enable = true; - createDirectories = false; - - desktop = "${config.den.dir.home}/desktop"; - download = "${config.den.dir.home}/downloads"; - documents = "${config.den.dir.home}/documents"; - pictures = "${config.den.dir.home}/pictures"; - music = "${config.den.dir.home}/music"; - videos = "${config.den.dir.home}/videos"; - - templates = "${config.den.dir.home}/templates"; - - publicShare = "${config.den.dir.home}/public"; - }; - - xdg.dataFile.applications = { - source = "${config.den.dir.share}/applications"; - recursive = true; - }; - }; -} diff --git a/etc/nix/home/packages/default.nix b/etc/nix/packages/default.nix similarity index 100% rename from etc/nix/home/packages/default.nix rename to etc/nix/packages/default.nix diff --git a/etc/nix/home/packages/openrgb-plugin-effects.nix b/etc/nix/packages/openrgb-plugin-effects.nix similarity index 100% rename from etc/nix/home/packages/openrgb-plugin-effects.nix rename to etc/nix/packages/openrgb-plugin-effects.nix diff --git a/etc/nix/home/packages/openrgb-plugin-visual-map.nix b/etc/nix/packages/openrgb-plugin-visual-map.nix similarity index 100% rename from etc/nix/home/packages/openrgb-plugin-visual-map.nix rename to etc/nix/packages/openrgb-plugin-visual-map.nix diff --git a/etc/nix/home/packages/openrgb.nix b/etc/nix/packages/openrgb.nix similarity index 100% rename from etc/nix/home/packages/openrgb.nix rename to etc/nix/packages/openrgb.nix diff --git a/etc/zsh/zshenv b/etc/zsh/zshenv index 996b93c..a8be93f 100644 --- a/etc/zsh/zshenv +++ b/etc/zsh/zshenv @@ -2,22 +2,13 @@ export DEN="$(dirname "$(dirname "${0:h:A}")")" -export HOME_ETC="$DEN/etc" -export HOME_OPT="$HOME/opt" -export HOME_TMP="$HOME/tmp" -export HOME_SHARE="$DEN/share" -export HOME_VAR="$HOME/var" +export HOME_TMP="${HOME_TMP:-"$HOME/tmp"}" export HISTORY="$HOME_VAR/history" - -export CACHE_DIR="$HOME_VAR/cache" +export CACHE_DIR="${XDG_CACHE_HOME:-"$HOME_VAR/cache"}" export ZSH_CACHE_DIR="$CACHE_DIR/zsh" -export XDG_CONFIG_HOME="$HOME/.config" -export XDG_CACHE_HOME="$CACHE_DIR" -export XDG_DATA_HOME="$HOME_VAR" -export XDG_STATE_HOME="$HOME_VAR/state" ### # Paths @@ -25,16 +16,7 @@ export XDG_STATE_HOME="$HOME_VAR/state" # Need to be set in environment because scripts don't load rc. # Scripts may run commands using these paths. -# Go -export GO_PATH="$HOME_OPT/go" -export GOPATH="$GO_PATH" - # Node -export NPM_PATH="$HOME_OPT/npm" -export NPM_CONFIG_CACHE="$NPM_PATH/cache" - -# Rust -export CARGO_HOME="$HOME_OPT/cargo" # Ruby export GEM_PATH="$HOME_OPT/gem/ruby/2.6.0" @@ -53,7 +35,6 @@ paths=( GEM_PATH NPM_PATH CARGO_HOME - GO_PATH DEN HOME )