Compare commits
13 Commits
75d6d62271
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5491cfc0a2 | ||
|
|
dd1d998fdf | ||
|
|
bafb77726c | ||
|
|
50a1694767 | ||
|
|
0109b80871 | ||
|
|
3849ccdf8f | ||
|
|
0c0fbb5e02 | ||
|
|
0f9900c878 | ||
|
|
8ecb4d3962 | ||
|
|
f8fb28d560 | ||
|
|
b6a10bebc4 | ||
|
|
9ec14ce9fa | ||
|
|
76e69f0bc8 |
Submodule bash-scripts updated: bc58d71ed5...4e6211130f
@@ -37,15 +37,18 @@
|
|||||||
|
|
||||||
services.ollama = {
|
services.ollama = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
openFirewall = true;
|
||||||
|
# Make sure this path is created and has the permissions of ollama:ollama.
|
||||||
|
models = "/mnt/storage/models";
|
||||||
|
environmentVariables = {
|
||||||
|
OLLAMA_CONTEXT_LENGTH = "8192";
|
||||||
|
};
|
||||||
package = pkgs.ollama-cuda.override {
|
package = pkgs.ollama-cuda.override {
|
||||||
cudaArches = [
|
cudaArches = [
|
||||||
"61"
|
"61"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
openFirewall = true;
|
|
||||||
environmentVariables = {
|
|
||||||
OLLAMA_CONTEXT_LENGTH = "8192";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# NGINX Reverse Proxy Setup
|
# NGINX Reverse Proxy Setup
|
||||||
@@ -54,7 +57,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
# Jellyfin
|
# Jellyfin
|
||||||
"mindforge.randomctf.local" = {
|
"mindforge.randomctf.lan" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
access_log /var/log/nginx/access.mindforge.log;
|
access_log /var/log/nginx/access.mindforge.log;
|
||||||
'';
|
'';
|
||||||
@@ -78,9 +81,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# System Packeges Related to AI
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
opencode
|
(llama-cpp.override { cudaSupport = true; })
|
||||||
claude-code
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
settings.server = {
|
settings.server = {
|
||||||
http_addr = "127.0.0.1";
|
http_addr = "127.0.0.1";
|
||||||
http_port = 3000;
|
http_port = 3000;
|
||||||
domain = "grafana.randomctf.local";
|
domain = "grafana.randomctf.lan";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -31,19 +31,19 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
# Grafana
|
# Grafana
|
||||||
"grafana.randomctf.local" = {
|
"grafana.randomctf.lan" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
access_log /var/log/nginx/access.grafana.log;
|
access_log /var/log/nginx/access.grafana.log;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
locations."/".extraConfig = ''
|
locations."/".extraConfig = ''
|
||||||
proxy_set_header Host grafana.randomctf.local;
|
proxy_set_header Host grafana.randomctf.lan;
|
||||||
proxy_pass http://localhost:3000/;
|
proxy_pass http://localhost:3000/;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Prometheus
|
# Prometheus
|
||||||
"prometheus.randomctf.local" = {
|
"prometheus.randomctf.lan" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
access_log /var/log/nginx/access.prometheus.log;
|
access_log /var/log/nginx/access.prometheus.log;
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -12,4 +12,8 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
users.users.mnemosyne = import ./user.nix;
|
users.users.mnemosyne = import ./user.nix;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
python313Packages.mwdblib
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,30 @@
|
|||||||
{ ip_address, hostname, open_ports, lib }: let
|
{ ip_address, hostname, open_ports, lib, }: let
|
||||||
gateway_ip = "192.168.100.1";
|
gateway_ip = "192.168.100.1";
|
||||||
in {
|
in {
|
||||||
# Configure hostname.
|
# Configure hostname.
|
||||||
networking.hostName = hostname;
|
networking.hostName = hostname;
|
||||||
|
|
||||||
|
# Bug fix
|
||||||
|
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
# DNS config
|
||||||
|
networking.nameservers = [ gateway_ip ];
|
||||||
|
|
||||||
|
# Allowed Ports
|
||||||
|
networking.firewall.allowedTCPPorts = open_ports;
|
||||||
|
|
||||||
# Conigure a static IP address.
|
# Conigure a static IP address.
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.useNetworkd = true;
|
networking.useNetworkd = true;
|
||||||
networking.enableIPv6 = false;
|
networking.enableIPv6 = false;
|
||||||
|
|
||||||
# Bug fix
|
|
||||||
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
networking.defaultGateway = {
|
|
||||||
address = gateway_ip;
|
|
||||||
interface = "enp6s18";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.nameservers = [ gateway_ip ];
|
|
||||||
networking.firewall.allowedTCPPorts = open_ports;
|
|
||||||
networking.interfaces.enp6s18.ipv4.addresses = [
|
networking.interfaces.enp6s18.ipv4.addresses = [
|
||||||
{
|
{
|
||||||
address = ip_address;
|
address = ip_address;
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
networking.defaultGateway = {
|
||||||
|
address = gateway_ip;
|
||||||
|
interface = "enp6s18";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
environment.variables.GDK_SCALE = "0.5";
|
environment.variables.GDK_SCALE = "0.5";
|
||||||
|
|
||||||
# Ignore laptop lid closing when connected to power.
|
# Ignore laptop lid closing when connected to power.
|
||||||
services.logind.lidSwitchExternalPower = "ignore";
|
services.logind.settings.Login.HandleLidSwitchExternalPower = "ignore";
|
||||||
|
|
||||||
# Enable bluetooth
|
# Enable bluetooth
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
@@ -71,13 +71,6 @@
|
|||||||
# For RTL-SDR
|
# For RTL-SDR
|
||||||
hardware.rtl-sdr.enable = true;
|
hardware.rtl-sdr.enable = true;
|
||||||
|
|
||||||
# Setup Pinentry
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentryPackage = pkgs.pinentry-gtk2;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Setup protonmail bridge
|
# Setup protonmail bridge
|
||||||
systemd.user.services.protonmail-bridge = {
|
systemd.user.services.protonmail-bridge = {
|
||||||
description = "Protonmail Bridge";
|
description = "Protonmail Bridge";
|
||||||
@@ -107,19 +100,19 @@
|
|||||||
zlib
|
zlib
|
||||||
dbus
|
dbus
|
||||||
python3
|
python3
|
||||||
xorg.libX11
|
libx11
|
||||||
xorg.libXext
|
libxext
|
||||||
xorg.libXrender
|
libxrender
|
||||||
xorg.libXrandr
|
libxrandr
|
||||||
xorg.libXcursor
|
libxcursor
|
||||||
xorg.libXi
|
libxi
|
||||||
xorg.libxcb
|
libxcb
|
||||||
xorg.xcbutilwm
|
libxcb-wm
|
||||||
xorg.xcbutil
|
libxcb-util
|
||||||
xorg.xcbutilimage
|
libxcb-image
|
||||||
xorg.xcbutilkeysyms
|
libxcb-keysyms
|
||||||
xorg.xcbutilrenderutil
|
libxcb-render-util
|
||||||
xorg.xcbutilcursor
|
libxcb-cursor
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,17 @@
|
|||||||
}))
|
}))
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Setup Pinentry
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryPackage = pkgs.pinentry-gtk2;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Keyring Setup
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
security.pam.services.login.enableGnomeKeyring = true;
|
||||||
|
|
||||||
# Enable services.
|
# Enable services.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
@@ -62,7 +73,6 @@
|
|||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.tumbler.enable = true;
|
services.tumbler.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# Enable docker service.
|
# Enable docker service.
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
|||||||
30
flake.lock
generated
30
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775425411,
|
"lastModified": 1778905220,
|
||||||
"narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
|
"narHash": "sha256-ox/5IHc8uwy6UTw6N7Shp6uCHIgu/S2PsWeuXsOHSo8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
|
"rev": "d1686dc7d36cbd1234cb226ad6ef97e882716acb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -28,11 +28,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776701552,
|
"lastModified": 1778937626,
|
||||||
"narHash": "sha256-CCRzOEFg6JwCdZIR5dLD0ypah5/e2JQVuWQ/l3rYrPY=",
|
"narHash": "sha256-OzLAT0G96WlT/WWaNdkTvQ7E9ohq9h0xQTdL1oe3gm0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c81775b640d4507339d127f5adb4105f6015edf2",
|
"rev": "d5ece85b6d3d6b5ab5a514b2785fb952b629bfea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -48,11 +48,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776575850,
|
"lastModified": 1778393439,
|
||||||
"narHash": "sha256-28Gqz0GDpGsBv8GtAn2dywEQRr+CtTDsD5J7VD6icBE=",
|
"narHash": "sha256-mOtQxUjtKaPHLeoLOY/YEDctmud1X9KwJr4kE1MJ3Wc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "3b9653a107c736222b5ae0d4036dd3b885219065",
|
"rev": "01466c414c7357ae2ce32be4a272a7c69e94ab5f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -63,11 +63,11 @@
|
|||||||
},
|
},
|
||||||
"nix-unstable": {
|
"nix-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776169885,
|
"lastModified": 1778443072,
|
||||||
"narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=",
|
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9",
|
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -79,11 +79,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776701571,
|
"lastModified": 1778937455,
|
||||||
"narHash": "sha256-DulOQ4KakTuH+3qEMF6TCRI24rTzD4g9Ayu7gYy3CqU=",
|
"narHash": "sha256-1QMHzgrJfnMh4Bg6NgkZejexiTtuV+jpZT9sohuqLB4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7a8c107078da70f3c4d880e787e6e2180c9e88b2",
|
"rev": "534de2b33df9f73253082221de221bd68c5a77c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -79,14 +79,19 @@
|
|||||||
./home/modules/hacking.nix
|
./home/modules/hacking.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
mindforge = mkHomeUnstableConfig "mindforge" [
|
||||||
|
./home/headless-nixos.nix
|
||||||
|
./home/modules/development.nix
|
||||||
|
];
|
||||||
|
|
||||||
mnemosyne = mkHomeConfig "mnemosyne" [
|
mnemosyne = mkHomeConfig "mnemosyne" [
|
||||||
./home/headless-nixos.nix
|
./home/headless-nixos.nix
|
||||||
./home/modules/development.nix
|
./home/modules/development.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
media = mkHomeConfig "media" [ ./home/headless-nixos.nix ];
|
media = mkHomeConfig "media" [ ./home/headless-nixos.nix ];
|
||||||
logging = mkHomeConfig "logging" [ ./home/headless-nixos.nix ];
|
logging = mkHomeConfig "logging" [ ./home/headless-nixos.nix ];
|
||||||
mindforge = mkHomeConfig "mindforge" [ ./home/headless-nixos.nix ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,12 @@
|
|||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# The label "storage" can be set using e2label.
|
||||||
|
fileSystems."/mnt/storage" = {
|
||||||
|
device = "/dev/disk/by-label/storage";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
@@ -18,13 +18,9 @@
|
|||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/sampledb" = {
|
# The label "storage" can be set using e2label.
|
||||||
device = "/dev/disk/by-uuid/7d70bfdb-510f-4f30-969f-d4ac59175719";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/mnt/archive" = {
|
fileSystems."/mnt/archive" = {
|
||||||
device = "/dev/disk/by-uuid/66103455-9fcd-4b5b-9735-37b85a51019d";
|
device = "/dev/disk/by-label/storage";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,10 @@
|
|||||||
zig
|
zig
|
||||||
zls
|
zls
|
||||||
|
|
||||||
|
# AI tools
|
||||||
|
opencode
|
||||||
|
claude-code
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
python3
|
python3
|
||||||
ansible
|
ansible
|
||||||
|
|||||||
@@ -23,8 +23,6 @@
|
|||||||
ccls
|
ccls
|
||||||
yaml-language-server
|
yaml-language-server
|
||||||
python3Packages.python-lsp-server
|
python3Packages.python-lsp-server
|
||||||
nodePackages.typescript-language-server
|
|
||||||
nodePackages.vscode-json-languageserver
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|||||||
@@ -35,12 +35,15 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = let
|
||||||
enable = true;
|
|
||||||
theme = {
|
theme = {
|
||||||
name = "Materia-dark";
|
name = "Materia-dark";
|
||||||
package = pkgs.materia-theme;
|
package = pkgs.materia-theme;
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
inherit theme;
|
||||||
|
gtk4.theme = theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
exiftool
|
exiftool
|
||||||
pwntools
|
pwntools
|
||||||
flare-floss
|
flare-floss
|
||||||
|
python313Packages.mwdblib
|
||||||
|
|
||||||
# Wordlists
|
# Wordlists
|
||||||
(wordlists.override {
|
(wordlists.override {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
withPython3 = true;
|
||||||
|
withRuby = true;
|
||||||
|
|
||||||
coc = {
|
coc = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -23,7 +26,6 @@
|
|||||||
coc-svelte
|
coc-svelte
|
||||||
coc-clangd
|
coc-clangd
|
||||||
coc-docker
|
coc-docker
|
||||||
coc-tsserver
|
|
||||||
coc-rust-analyzer
|
coc-rust-analyzer
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,11 @@
|
|||||||
eza.enable = true;
|
eza.enable = true;
|
||||||
tealdeer = {
|
tealdeer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings.updates.auto_update = true;
|
||||||
updates.auto_update = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
atuin = {
|
atuin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
daemon.enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
settings = {
|
settings = {
|
||||||
enter_accept = false;
|
enter_accept = false;
|
||||||
@@ -26,7 +25,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
history.size = 100000000;
|
history.size = 100000000;
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
@@ -48,7 +46,7 @@
|
|||||||
r330-media = "ssh media@192.168.100.40";
|
r330-media = "ssh media@192.168.100.40";
|
||||||
r330-logging = "ssh logging@192.168.100.41";
|
r330-logging = "ssh logging@192.168.100.41";
|
||||||
mnemosyne = "ssh mnemosyne@192.168.100.42";
|
mnemosyne = "ssh mnemosyne@192.168.100.42";
|
||||||
mindforge = "ssh mindforge@mindforge.randomctf.local";
|
mindforge = "ssh mindforge@mindforge.randomctf.lan";
|
||||||
|
|
||||||
# Nix Specific aliases
|
# Nix Specific aliases
|
||||||
update-config = "sudo nixos-rebuild switch --flake ~/dotfiles";
|
update-config = "sudo nixos-rebuild switch --flake ~/dotfiles";
|
||||||
@@ -83,18 +81,12 @@
|
|||||||
src = ../../assets;
|
src = ../../assets;
|
||||||
file = ".p10k.zsh";
|
file = ".p10k.zsh";
|
||||||
}
|
}
|
||||||
];
|
{
|
||||||
|
name = "powerlevel10k";
|
||||||
zplug = {
|
src = pkgs.zsh-powerlevel10k;
|
||||||
enable = true;
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||||
plugins = [
|
}
|
||||||
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".functions.zsh".source = ../../assets/.functions.zsh;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user