Compare commits
7 commits
648f53ae75
...
9cfbdd2f5a
| Author | SHA1 | Date | |
|---|---|---|---|
| 9cfbdd2f5a | |||
| cabb0075e0 | |||
| 5122fa1811 | |||
| dbefc3ec9e | |||
| 37e758429d | |||
| 31e7614d0d | |||
| 5dded316af |
29 changed files with 323 additions and 171 deletions
9
TODO.md
9
TODO.md
|
|
@ -1,10 +1,9 @@
|
||||||
- [ ] Update the README.md
|
- [ ] Update the README.md
|
||||||
- [ ] switch ssh keys to ECC (fuck RSA)
|
- [ ] switch ssh keys to ECC (fuck RSA)
|
||||||
|
- [ ] forgejo not post-quantum (fix that)
|
||||||
|
|
||||||
- [ ] migrate forge.dobutterfliescry.net -> tearforge.net
|
- [X] migrate forge.dobutterfliescry.net -> tearforge.net
|
||||||
- [ ] rename forgejo user to git
|
- [X] rename forgejo user to git
|
||||||
- [ ] setup my own VPN
|
- [ ] setup my own VPN
|
||||||
- [ ] connect match to my VPN
|
- [ ] connect matcha to my VPN
|
||||||
- [ ] use matcha to build stuff instead of using my laptop
|
- [ ] use matcha to build stuff instead of using my laptop
|
||||||
|
|
||||||
- [ ] make `ceru` do local and remote deployments
|
|
||||||
|
|
|
||||||
20
colors.rasi
Normal file
20
colors.rasi
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
* {
|
||||||
|
background: rgba(51,37,65,0.9);
|
||||||
|
foreground: rgba(198,186,227,0.9);
|
||||||
|
color00: rgba(78,66,70,0.9);
|
||||||
|
color01: rgba(111,91,159,0.9);
|
||||||
|
color02: rgba(120,98,164,0.9);
|
||||||
|
color03: rgba(131,128,181,0.9);
|
||||||
|
color04: rgba(154,127,183,0.9);
|
||||||
|
color05: rgba(157,129,185,0.9);
|
||||||
|
color06: rgba(123,153,183,0.9);
|
||||||
|
color07: rgba(165,148,207,0.9);
|
||||||
|
color08: rgba(115,103,145,0.9);
|
||||||
|
color09: rgba(129,102,193,0.9);
|
||||||
|
color10: rgba(140,112,199,0.9);
|
||||||
|
color11: rgba(145,141,218,0.9);
|
||||||
|
color12: rgba(170,126,217,0.9);
|
||||||
|
color13: rgba(174,130,220,0.9);
|
||||||
|
color14: rgba(135,181,228,0.9);
|
||||||
|
color15: rgba(165,148,207,0.9);
|
||||||
|
}
|
||||||
88
flake.lock
generated
88
flake.lock
generated
|
|
@ -3,7 +3,6 @@
|
||||||
"cerulean": {
|
"cerulean": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"deploy-rs": "deploy-rs",
|
"deploy-rs": "deploy-rs",
|
||||||
"home-manager": "home-manager",
|
|
||||||
"microvm": "microvm",
|
"microvm": "microvm",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
|
@ -16,17 +15,14 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771194110,
|
"lastModified": 1771650297,
|
||||||
"narHash": "sha256-x6rijGWmPL5FTpkr+8vpcKKCOT33QHEV8bP6ibEAXFE=",
|
"narHash": "sha256-7A952ZrngNdgSJWPLvKdVyGCXn1WtuBUMG4JoRTSCso=",
|
||||||
"owner": "cry128",
|
"path": "/home/me/cry/mk/cerulean",
|
||||||
"repo": "Cerulean",
|
"type": "path"
|
||||||
"rev": "d527937829dec0f410f126a2f85e374cb99a2fbb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "cry128",
|
"path": "/home/me/cry/mk/cerulean",
|
||||||
"repo": "Cerulean",
|
"type": "path"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deploy-rs": {
|
"deploy-rs": {
|
||||||
|
|
@ -65,17 +61,17 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770947070,
|
"lastModified": 1771281537,
|
||||||
"narHash": "sha256-g/l/iUET/M+nSrXlwYF2e0KeKqgGpjy3qhwQY4tG62A=",
|
"narHash": "sha256-mSFKM4DEvg1mMk3WaE4VQHOEg4UUxfqqfYUnIxeQeQE=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "4fc28bfb4f95071d34184c7ba3153eaff87eba41",
|
"rev": "3678fe95787bb660c4e9ff9933c5d03693a07a76",
|
||||||
"revCount": 121,
|
"revCount": 122,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://forge.dobutterfliescry.net/cry/site"
|
"url": "https://tearforge.net/cry/site"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://forge.dobutterfliescry.net/cry/site"
|
"url": "https://tearforge.net/cry/site"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
|
@ -169,28 +165,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"cerulean",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770260404,
|
|
||||||
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"ref": "release-25.11",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
|
@ -220,11 +194,11 @@
|
||||||
"spectrum": "spectrum"
|
"spectrum": "spectrum"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770310890,
|
"lastModified": 1771365290,
|
||||||
"narHash": "sha256-lyWAs4XKg3kLYaf4gm5qc5WJrDkYy3/qeV5G733fJww=",
|
"narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=",
|
||||||
"owner": "microvm-nix",
|
"owner": "microvm-nix",
|
||||||
"repo": "microvm.nix",
|
"repo": "microvm.nix",
|
||||||
"rev": "68c9f9c6ca91841f04f726a298c385411b7bfcd5",
|
"rev": "789c90b164b55b4379e7a94af8b9c01489024c18",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -304,11 +278,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770943752,
|
"lastModified": 1771375681,
|
||||||
"narHash": "sha256-3vWAy2BCP5liaCEKmeqeVWbTCF/JnukgMOg8qf8mCcg=",
|
"narHash": "sha256-qDDw0ruBZ1kt63j4uVP5Xrd1OxGKIYrSFnig0z6ozSw=",
|
||||||
"owner": "FlameFlag",
|
"owner": "FlameFlag",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "aa1626057e57eca3686fbc1c3e2ddfde884c6b2a",
|
"rev": "d030dbb48ab020092681a39c878c1d48a553ffc1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -319,11 +293,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770770419,
|
"lastModified": 1771208521,
|
||||||
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=",
|
"narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a",
|
"rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -350,11 +324,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770841267,
|
"lastModified": 1771008912,
|
||||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -389,15 +363,15 @@
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770975056,
|
"lastModified": 1770975056,
|
||||||
"narHash": "sha256-ZXTz/P3zUbbM6lNXzt91u8EwfNqhXpYMu8+wvFZqQHE=",
|
"narHash": "sha256-ZXTz/P3zUbbM6lNXzt91u8EwfNqhXpYMu8+wvFZqQHE=",
|
||||||
"owner": "cry128",
|
"ref": "refs/heads/main",
|
||||||
"repo": "nt",
|
|
||||||
"rev": "f42dcdd49a7921a7f433512e83d5f93696632412",
|
"rev": "f42dcdd49a7921a7f433512e83d5f93696632412",
|
||||||
"type": "github"
|
"revCount": 205,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://tearforge.net/cry/nt"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "cry128",
|
"type": "git",
|
||||||
"repo": "nt",
|
"url": "https://tearforge.net/cry/nt"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
|
|
@ -405,7 +379,7 @@
|
||||||
"cerulean": "cerulean",
|
"cerulean": "cerulean",
|
||||||
"dobutterfliescry-net": "dobutterfliescry-net",
|
"dobutterfliescry-net": "dobutterfliescry-net",
|
||||||
"grub2-themes": "grub2-themes",
|
"grub2-themes": "grub2-themes",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
|
|
||||||
17
flake.nix
17
flake.nix
|
|
@ -12,16 +12,15 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nt.url = "github:cry128/nt";
|
nt.url = "git+https://tearforge.net/cry/nt";
|
||||||
# nt.url = "/home/me/cry/mk/nt";
|
|
||||||
|
|
||||||
cerulean = {
|
cerulean = {
|
||||||
url = "github:cry128/Cerulean";
|
# url = "git+https://tearforge.net/cry/cerulean";
|
||||||
# url = "/home/me/cry/mk/Cerulean";
|
url = "/home/me/cry/mk/cerulean";
|
||||||
inputs = {
|
inputs = {
|
||||||
|
nt.follows = "nt";
|
||||||
systems.follows = "systems";
|
systems.follows = "systems";
|
||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
nt.follows = "nt";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -37,7 +36,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
dobutterfliescry-net = {
|
dobutterfliescry-net = {
|
||||||
url = "git+https://forge.dobutterfliescry.net/cry/site";
|
url = "git+https://tearforge.net/cry/site";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
nixpkgs-unstable.follows = "nixpkgs-unstable";
|
nixpkgs-unstable.follows = "nixpkgs-unstable";
|
||||||
|
|
@ -50,6 +49,8 @@
|
||||||
extra-experimental-features = "pipe-operators";
|
extra-experimental-features = "pipe-operators";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs: let
|
||||||
import ./snow.nix inputs;
|
inherit (inputs.cerulean) snow;
|
||||||
|
in
|
||||||
|
snow.flake inputs ./.;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,16 @@
|
||||||
|
|
||||||
# NOTE: mkDefault is 1000 and mkForce is 50
|
# NOTE: mkDefault is 1000 and mkForce is 50
|
||||||
# NOTE: so this is like a second mkDefault
|
# NOTE: so this is like a second mkDefault
|
||||||
security.sudo.wheelNeedsPassword = lib.mkDefault true;
|
security.sudo.wheelNeedsPassword = true;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
|
|
||||||
nftables.enable = true;
|
nftables.enable = true;
|
||||||
firewall.enable = lib.mkDefault true;
|
firewall = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
allowPing = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
# Use CloudFlare's WARP+ 1.1.1.1 DNS service
|
# Use CloudFlare's WARP+ 1.1.1.1 DNS service
|
||||||
nameservers = [
|
nameservers = [
|
||||||
|
|
@ -28,6 +31,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
clean.enable = true;
|
clean.enable = true;
|
||||||
clean.extraArgs = "--keep-since 7d --keep 3";
|
clean.extraArgs = "--keep-since 7d --keep 3";
|
||||||
|
# TODO: move nh config to be home-manager
|
||||||
flake = "/home/me/flake"; # sets NH_OS_FLAKE variable for you
|
flake = "/home/me/flake"; # sets NH_OS_FLAKE variable for you
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,20 @@
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
upkgs,
|
upkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = with inputs; [
|
||||||
./programs.nix
|
./programs.nix
|
||||||
|
|
||||||
../../hosts/modules/bashistrans.nix
|
../../hosts/modules/bashistrans.nix
|
||||||
../../hosts/modules/wm/hyprland.nix
|
../../hosts/modules/wm/hyprland.nix
|
||||||
../../hosts/modules/steam.nix
|
../../hosts/modules/steam.nix
|
||||||
../../hosts/modules/obsidian.nix
|
../../hosts/modules/obsidian.nix
|
||||||
|
|
||||||
|
grub2-themes.nixosModules.default
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.grub2-theme = {
|
boot.loader.grub2-theme = {
|
||||||
|
|
|
||||||
|
|
@ -7,22 +7,6 @@
|
||||||
./programs.nix
|
./programs.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = let
|
|
||||||
whitelist = with pkgs;
|
|
||||||
map lib.getName [
|
|
||||||
discord
|
|
||||||
steam
|
|
||||||
steamcmd
|
|
||||||
steam-unwrapped
|
|
||||||
|
|
||||||
winbox
|
|
||||||
|
|
||||||
obsidian
|
|
||||||
gitkraken
|
|
||||||
];
|
|
||||||
in
|
|
||||||
pkg: builtins.elem (lib.getName pkg) whitelist;
|
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
|
|
|
||||||
|
|
@ -111,11 +111,12 @@
|
||||||
libargon2
|
libargon2
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
# services.pcscd.enable = true;
|
||||||
gnupg.agent = {
|
# programs = {
|
||||||
enable = true;
|
# gnupg.agent = {
|
||||||
pinentryPackage = pkgs.pinentry-curses;
|
# enable = true;
|
||||||
enableSSHSupport = true;
|
# pinentryPackage = pkgs.pinentry-curses;
|
||||||
};
|
# enableSSHSupport = true;
|
||||||
};
|
# };
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,15 @@
|
||||||
{lib, ...}: {
|
{
|
||||||
networking.firewall = {
|
pkgs,
|
||||||
allowedTCPPorts = [
|
lib,
|
||||||
42069 # ssh
|
...
|
||||||
];
|
}: {
|
||||||
|
networking = {
|
||||||
|
firewall = {
|
||||||
|
allowedTCPPorts = [
|
||||||
|
42069 # ssh
|
||||||
|
];
|
||||||
|
};
|
||||||
|
nftables.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
|
|
@ -42,6 +49,7 @@
|
||||||
services.fail2ban = {
|
services.fail2ban = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
ignoreIP = ["192.168.0.0/16"];
|
||||||
maxretry = 5;
|
maxretry = 5;
|
||||||
bantime = "10m"; # 10 minute ban
|
bantime = "10m"; # 10 minute ban
|
||||||
bantime-increment = {
|
bantime-increment = {
|
||||||
|
|
@ -62,10 +70,15 @@
|
||||||
extraGroups = ["wheel"];
|
extraGroups = ["wheel"];
|
||||||
openssh.authorizedKeys.keys = lib.mkDefault [
|
openssh.authorizedKeys.keys = lib.mkDefault [
|
||||||
(throw ''
|
(throw ''
|
||||||
|
You goofy goober :3
|
||||||
Hosts in the `server` group must set `users.users.cry.openssh.authorizedKeys.keys = [ ... ]`.
|
Hosts in the `server` group must set `users.users.cry.openssh.authorizedKeys.keys = [ ... ]`.
|
||||||
'')
|
'')
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
unixtools.netstat
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,25 +118,31 @@
|
||||||
hostname = "dobutterfliescry.net";
|
hostname = "dobutterfliescry.net";
|
||||||
user = "cry";
|
user = "cry";
|
||||||
port = 42069;
|
port = 42069;
|
||||||
identityFile = "~/.ssh/id_butterfly";
|
identityFile = "~/keys/butterfly";
|
||||||
setEnv = {
|
setEnv = {
|
||||||
TERM = "linux";
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
clocktown = {
|
hyrule = {
|
||||||
hostname = "hyrule.dobutterfliescry.net";
|
hostname = "hyrule.dobutterfliescry.net";
|
||||||
user = "cry";
|
user = "cry";
|
||||||
port = 42069;
|
port = 42069;
|
||||||
identityFile = "~/.ssh/id_hyrule";
|
identityFile = "~/keys/hyrule";
|
||||||
setEnv = {
|
setEnv = {
|
||||||
TERM = "linux";
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
matcha = {
|
||||||
|
hostname = "192.168.88.250";
|
||||||
|
user = "emile";
|
||||||
|
port = 22;
|
||||||
|
identityFile = "~/keys/matcha";
|
||||||
|
};
|
||||||
youcue = {
|
youcue = {
|
||||||
hostname = "moss.labs.eait.uq.edu.au";
|
hostname = "moss.labs.eait.uq.edu.au";
|
||||||
user = "s4740056";
|
user = "s4740056";
|
||||||
port = 22;
|
port = 22;
|
||||||
identityFile = "~/.ssh/id_youcue";
|
identityFile = "~/keys/other/youcue";
|
||||||
setEnv = {
|
setEnv = {
|
||||||
TERM = "xterm-256color";
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,10 @@
|
||||||
"The god of the stars rejects your offering. The ritual can only be performed at night."
|
"The god of the stars rejects your offering. The ritual can only be performed at night."
|
||||||
"You should have just died..."
|
"You should have just died..."
|
||||||
"Supreme Witch, Calamitas has killed every player!"
|
"Supreme Witch, Calamitas has killed every player!"
|
||||||
|
|
||||||
|
"A broken heart beats in fractals" # Key Fairy
|
||||||
|
|
||||||
|
"Remember our promise" # Signalis
|
||||||
]
|
]
|
||||||
|> map (x: "\"${x}\"")
|
|> map (x: "\"${x}\"")
|
||||||
|> builtins.concatStringsSep " ";
|
|> builtins.concatStringsSep " ";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware.nix
|
||||||
|
|
||||||
./services
|
./services
|
||||||
];
|
];
|
||||||
|
|
@ -16,16 +16,16 @@
|
||||||
|
|
||||||
firewall = {
|
firewall = {
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
|
22 # forgejo ssh
|
||||||
80 # nginx
|
80 # nginx
|
||||||
# 143 # IMAP4
|
# 143 # IMAP4
|
||||||
443 # nginx
|
443 # nginx
|
||||||
# 587 # SMTPS
|
# 587 # SMTPS
|
||||||
2222 # forgejo ssh
|
2222 # TEMP: forgejo ssh
|
||||||
2035 # debug (for my job)
|
|
||||||
# 3000 (INTERNAL) forgejo
|
# 3000 (INTERNAL) forgejo
|
||||||
# 3306 (INTERNAL) forgejo sqlite3 database
|
# 3306 (INTERNAL) forgejo sqlite3 database
|
||||||
5000 # debug (for my job)
|
|
||||||
# 8222 (INTERNAL) vaultwarden
|
# 8222 (INTERNAL) vaultwarden
|
||||||
|
42069 # ssh
|
||||||
45000 # minecaft server
|
45000 # minecaft server
|
||||||
];
|
];
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
|
|
@ -57,6 +57,18 @@
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.pixiecore = {
|
||||||
|
enable = false;
|
||||||
|
|
||||||
|
port = 1234;
|
||||||
|
statusPort = 1234;
|
||||||
|
openFirewall = true;
|
||||||
|
listen = "0.0.0.0";
|
||||||
|
|
||||||
|
quick = "xyz";
|
||||||
|
mode = "boot";
|
||||||
|
};
|
||||||
|
|
||||||
users.users.cry = {
|
users.users.cry = {
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsUZY45rgezi+8iROdcR5vPeacJ2fbMjlDijfUrH9hRX2FzCsg/4e3aFKhi2seZMmyTfbstxmDrrH8paUS5TibFgLFBGNngaF3CTjg85i5pm25Hr4IVo31oziBnTWaG6j3buYKtz5e1qSPzXywinJR+5+FCUJU7Fxa+EWTZcOX4wYgArSj4q73rZmvk5N0X44Mudt4nvpD2chvxygsdTzD6ph92qCuaJ/AbfmOoC7b/xvOaOVydUfgDLpHi9VZbd3akvvKxRfW6ZklldgXEzPXKMuastN0mwcBxvIb5G1Vkj8jtSVtKPc5psZ9/NWA5l38xH4qZ6z7eib6thtEMdtcKmTZEEWDADjqTea5Gj61c1n18cr6f3Tff+0bn/cxsl4Y0esi+aDeuCXYiIYNmeKBx0ttDNIxpk4J5Fdh6Xs+AZif5lnJErtu8TPy2aC0bc9wehTjMyvilTHfyerOD1ZJXhN2XwRVDGN7t7leAJZISJlPjqTDcw3Vfvzte/5JqS+FR+hbpG4uz2ix8kUa20u5YF2oSdGl8+zsdozVsdQm10Iv9WSXBV7t4m+oyodgtfzydBpmXq7aBXudCiEKw+7TC7F+1a4YFrVrCNXKFgKUpd1MiVLl7DIbzm5U9MD2BB3Fy7BPCzr3tW6/ExOhhpBWY+HnzVGQfkNr7dRcqfipKw== ae@dobutterfliescry.net"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsUZY45rgezi+8iROdcR5vPeacJ2fbMjlDijfUrH9hRX2FzCsg/4e3aFKhi2seZMmyTfbstxmDrrH8paUS5TibFgLFBGNngaF3CTjg85i5pm25Hr4IVo31oziBnTWaG6j3buYKtz5e1qSPzXywinJR+5+FCUJU7Fxa+EWTZcOX4wYgArSj4q73rZmvk5N0X44Mudt4nvpD2chvxygsdTzD6ph92qCuaJ/AbfmOoC7b/xvOaOVydUfgDLpHi9VZbd3akvvKxRfW6ZklldgXEzPXKMuastN0mwcBxvIb5G1Vkj8jtSVtKPc5psZ9/NWA5l38xH4qZ6z7eib6thtEMdtcKmTZEEWDADjqTea5Gj61c1n18cr6f3Tff+0bn/cxsl4Y0esi+aDeuCXYiIYNmeKBx0ttDNIxpk4J5Fdh6Xs+AZif5lnJErtu8TPy2aC0bc9wehTjMyvilTHfyerOD1ZJXhN2XwRVDGN7t7leAJZISJlPjqTDcw3Vfvzte/5JqS+FR+hbpG4uz2ix8kUa20u5YF2oSdGl8+zsdozVsdQm10Iv9WSXBV7t4m+oyodgtfzydBpmXq7aBXudCiEKw+7TC7F+1a4YFrVrCNXKFgKUpd1MiVLl7DIbzm5U9MD2BB3Fy7BPCzr3tW6/ExOhhpBWY+HnzVGQfkNr7dRcqfipKw== ae@dobutterfliescry.net"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
|
./forgejo.nix
|
||||||
|
./vaultwarden.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,39 @@
|
||||||
{...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.services.forgejo;
|
||||||
|
in {
|
||||||
|
# REF: https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/misc/forgejo.nix
|
||||||
|
# REF: forgejo doesn't create the user/group by default if its name isn't "forgejo"
|
||||||
|
users.users = lib.mkIf (cfg.user != "forgejo") {
|
||||||
|
${cfg.user} = {
|
||||||
|
home = cfg.stateDir;
|
||||||
|
useDefaultShell = true;
|
||||||
|
group = cfg.group;
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
users.groups = lib.mkIf (cfg.group != "forgejo") {
|
||||||
|
${cfg.group} = {};
|
||||||
|
};
|
||||||
|
|
||||||
# more options here: https://mynixos.com/nixpkgs/options/services.forgejo
|
# more options here: https://mynixos.com/nixpkgs/options/services.forgejo
|
||||||
# TODO: set a favicon https://forgejo.org/docs/next/contributor/customization/#changing-the-logo
|
# TODO: set a favicon https://forgejo.org/docs/next/contributor/customization/#changing-the-logo
|
||||||
# (might need me to override settings in the nixpkg)
|
# (might need me to override settings in the nixpkg)
|
||||||
# TODO: create a custom theme for forgejo (modify the source files most likely)
|
# TODO: create a custom theme for forgejo (modify the source files most likely)
|
||||||
services.forgejo = {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
# XXX: WARNING: XXX: WARNING: XXX: TODO: set user="git" and settings.server.SSH_PORT=22
|
||||||
|
# XXX: WARNING: XXX: WARNING: XXX: TODO: (currently both cause errors)
|
||||||
|
# XXX: WARNING: XXX: WARNING: XXX: TODO: THE USER FAILS I THINK CAUSE THE DIRECTORY DOESNT CHANGE THE USER PERMISSIONS
|
||||||
|
|
||||||
|
user = "git"; # user forgejo runs as
|
||||||
|
# group = "forgejo"; # group forgejo runs as
|
||||||
|
# stateDir = "/var/lib/forgejo";
|
||||||
|
|
||||||
# enable support for Git Large File Storage
|
# enable support for Git Large File Storage
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
database = {
|
database = {
|
||||||
|
|
@ -17,9 +46,9 @@
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
# ENABLE_ACME = true;
|
# ENABLE_ACME = true;
|
||||||
# ACME_EMAIL = "eclarkboman@gmail.com"; # change this to "me@imbored.dev"
|
# ACME_EMAIL = "them@dobutterfliescry.net";
|
||||||
DOMAIN = "dobutterfliescry.net"; # should this be "imbored.dev"?
|
DOMAIN = "tearforge.net";
|
||||||
ROOT_URL = "https://forge.dobutterfliescry.net"; # full public URL of the Forgejo server
|
ROOT_URL = "https://tearforge.net";
|
||||||
# address and port to listen on
|
# address and port to listen on
|
||||||
HTTP_ADDR = "127.0.0.1";
|
HTTP_ADDR = "127.0.0.1";
|
||||||
HTTP_PORT = 3000;
|
HTTP_PORT = 3000;
|
||||||
|
|
@ -40,7 +69,7 @@
|
||||||
DEFAULT_PRIVATE = "private"; # last, private, public
|
DEFAULT_PRIVATE = "private"; # last, private, public
|
||||||
# repo/org created on push to non-existent
|
# repo/org created on push to non-existent
|
||||||
ENABLE_PUSH_CREATE_USER = true;
|
ENABLE_PUSH_CREATE_USER = true;
|
||||||
ENABLE_PUSH_CREATE_ORG = false;
|
ENABLE_PUSH_CREATE_ORG = true;
|
||||||
DEFAULT_PUSH_CREATE_PRIVATE = true;
|
DEFAULT_PUSH_CREATE_PRIVATE = true;
|
||||||
MAX_CREATION_LIMIT = -1;
|
MAX_CREATION_LIMIT = -1;
|
||||||
};
|
};
|
||||||
|
|
@ -67,7 +96,7 @@
|
||||||
"ui.meta" = {
|
"ui.meta" = {
|
||||||
AUTHOR = "Emile Clark-Boman - emileclarkb";
|
AUTHOR = "Emile Clark-Boman - emileclarkb";
|
||||||
DESCRIPTION = "This is my personal self-hosted git forge, where I keep and maintain personal projects! PS do butterflies cry when they're sad?";
|
DESCRIPTION = "This is my personal self-hosted git forge, where I keep and maintain personal projects! PS do butterflies cry when they're sad?";
|
||||||
KEYWORDS = "emile,clark,boman,clarkboman,emileclarkb,git,forge,forgejo,self-hosted,dobutterfliescry,butterfly,butterflies";
|
KEYWORDS = "emile,clark,boman,clarkboman,emileclarkb,git,forge,forgejo,self-hosted,dobutterfliescry,butterfly,butterflies,cry,tearforge";
|
||||||
};
|
};
|
||||||
|
|
||||||
markdown = {
|
markdown = {
|
||||||
|
|
@ -119,12 +148,11 @@
|
||||||
# email.incoming = { ... };
|
# email.incoming = { ... };
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
# TODO: fill this in once my mail server is configured
|
|
||||||
mailer = {
|
mailer = {
|
||||||
ENABLED = false;
|
ENABLED = false;
|
||||||
SMTP_ADDR = "mail.dobutterfliescry.net";
|
SMTP_ADDR = "mail.tearforge.net";
|
||||||
FROM = "iforgor@dobutterfliescry.net";
|
FROM = "noreply@tearforge.net";
|
||||||
USER = "iforgor@dobutterfliescry.net";
|
USER = "noreply@tearforge.net";
|
||||||
};
|
};
|
||||||
|
|
||||||
log = {
|
log = {
|
||||||
|
|
|
||||||
|
|
@ -43,16 +43,15 @@
|
||||||
locations."/".proxyPass = "${localhost}:8222";
|
locations."/".proxyPass = "${localhost}:8222";
|
||||||
}
|
}
|
||||||
// std;
|
// std;
|
||||||
# "tearforge.net" =
|
"tearforge.net" =
|
||||||
# {
|
{
|
||||||
# forceSSL = true;
|
forceSSL = true;
|
||||||
# extraConfig = ''
|
extraConfig = ''
|
||||||
# client_max_body_size 512M;
|
client_max_body_size 512M;
|
||||||
# '';
|
'';
|
||||||
# locations."/".proxyPass = "${localhost}:3000";
|
locations."/".proxyPass = "${localhost}:3000";
|
||||||
# }
|
}
|
||||||
# // std;
|
// std;
|
||||||
# "tearforge.net" = forge;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# super duper minimum grub2 config
|
# super duper minimum grub2 config
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "lolcathost";
|
networking.hostName = "lolcathost";
|
||||||
|
|
|
||||||
26
hosts/matcha/default.nix
Normal file
26
hosts/matcha/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./hardware.nix
|
||||||
|
./state.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.loader = {
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
};
|
||||||
|
grub = {
|
||||||
|
efiSupport = true;
|
||||||
|
device = "nodev";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "matcha";
|
||||||
|
|
||||||
|
users.users.cry = {
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDYwbPjW26fHivB+UpxRArY7nFI09VLAD9xxOiPk/u+YPAOVR8SYTpsHj3L8kI3ENRtt3PRJb97ZfLpPaAJ0LJiZv4qzisDjbfck12FxSDseQlF2JaJZ4wrJ9llcqJbRLKd5wV4KotrDm8Ct2JSBFOdTBQBGJqtNrLOcAtDqVmDPXsWyONINegtcYHumTbJcQU1ksCABdjW5R1dhJesOuMOM8EvrUtDyftvD7sgnBlXTzybP9c1AphUuBMSR5yEz/cDl+iPtQq7tgB+iepCCuNMGQu1wZFPBCMrZtMoxq6gzmZ4oV+W6tfmGEbtdkY+ix+2j960Zngcw7Gj+aYyMY2TyVJuJmIvlzfcrlsbr1TH35Y/5oYhJA+X6aFpgomUsurJ6/QdI1wQ+ceUCnZEeg/8z+WNaq/Bp2hPzT9Y7SPWolpaotDhh9wiuyVqn5VQqwL2lELfvZM4Lu8l6vRPDeMZTemI1nc5jg3aVpJqZTPqFVcCWrWXfdCFwnfy/SdU0JAprCzVvoqkwDHsJwkxY/NcxlNGNha+8oYZgSH1CZhEp3Z7CDJCTDd5PxxCQHs90ENCWFsoGQIV01dAgwD63460En9q2kGr6gO2aRewMD5Vr8AzeGV87vsR3ARpPQVzEWLX08B076Idjwrz8aebdRYBEg7WCxRe5UVI1i/V8j/zQw== emile@deadlyserver.com"
|
||||||
|
"ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAGEvtRs3C4hjSuvVm2lukqOvObCz5gVlFthcvpGHAqlBgZo47CNJM78WoviEQWceqtu9ZzJdRJ7qEK9ZGvTM0XTSgExkOs6YdS3J7M3i3YS1vcj9KVPinLhiE90aED/319pbYKFrRs/lRzl8XLeaPNqenNMNJBqeary8+r5u9JC6zYCeQ== me@lolcathost"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
33
hosts/matcha/hardware.nix
Normal file
33
hosts/matcha/hardware.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/d54a5644-744b-4b2a-8c4b-c12836498724";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot/efi" =
|
||||||
|
{ device = "/dev/disk/by-uuid/12CE-A600";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/9513ded6-662e-42f7-926e-64d198c2ae7c"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
20
hosts/matcha/state.nix
Normal file
20
hosts/matcha/state.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{...}: {
|
||||||
|
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||||
|
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||||
|
#
|
||||||
|
# Most users should NEVER change this value after the initial install, for any reason,
|
||||||
|
# even if you've upgraded your system to a new NixOS release.
|
||||||
|
#
|
||||||
|
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||||
|
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||||
|
# to actually do that.
|
||||||
|
#
|
||||||
|
# This value being lower than the current NixOS release does NOT mean your system is
|
||||||
|
# out of date, out of support, or vulnerable.
|
||||||
|
#
|
||||||
|
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||||
|
# and migrated your data accordingly.
|
||||||
|
#
|
||||||
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
|
system.stateVersion = "25.11"; # Did you read the comment?
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
|
|
||||||
36
nixpkgs.nix
36
nixpkgs.nix
|
|
@ -4,15 +4,11 @@
|
||||||
system,
|
system,
|
||||||
...
|
...
|
||||||
} @ args: {
|
} @ args: {
|
||||||
nixpkgs.channels.default = rec {
|
nixpkgs.channels = {
|
||||||
default = pkgs;
|
default = {
|
||||||
# nixpkgs (stable branch)
|
|
||||||
pkgs = {
|
|
||||||
inherit system;
|
|
||||||
source = inputs.nixpkgs;
|
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.dobutterfliescry-net.overlays.default
|
inputs.dobutterfliescry-net.overlays.default
|
||||||
(import ./overlays/default.nix args)
|
(import ./overlays args)
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
# allowUnfree = false;
|
# allowUnfree = false;
|
||||||
|
|
@ -29,13 +25,37 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# nixpkgs (stable branch)
|
||||||
|
# pkgs = {
|
||||||
|
# inherit system;
|
||||||
|
# source = inputs.nixpkgs;
|
||||||
|
# overlays = [
|
||||||
|
# inputs.dobutterfliescry-net.overlays.default
|
||||||
|
# (import ./overlays args)
|
||||||
|
# ];
|
||||||
|
# config = {
|
||||||
|
# # allowUnfree = false;
|
||||||
|
# allowBroken = false;
|
||||||
|
# allowUnfreePredicate = pkg:
|
||||||
|
# builtins.elem (lib.getName pkg) [
|
||||||
|
# "discord"
|
||||||
|
# "steam"
|
||||||
|
# "steamcmd"
|
||||||
|
# "steam-unwrapped"
|
||||||
|
|
||||||
|
# "obsidian"
|
||||||
|
# "gitkraken"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
# nixpkgs-unstable
|
# nixpkgs-unstable
|
||||||
upkgs = {
|
upkgs = {
|
||||||
inherit system;
|
inherit system;
|
||||||
source = inputs.nixpkgs-unstable;
|
source = inputs.nixpkgs-unstable;
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.dobutterfliescry-net.overlays.default
|
inputs.dobutterfliescry-net.overlays.default
|
||||||
(import ./overlays/default.nix args)
|
(import ./overlays args)
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = false;
|
allowUnfree = false;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{inputs, ...}: (
|
{...}: (
|
||||||
self: super: {
|
self: super: {
|
||||||
angry-oxide = import ../packages/angryoxide {
|
angry-oxide = import ../packages/angryoxide {
|
||||||
pkgs = super;
|
pkgs = super;
|
||||||
|
|
|
||||||
58
snow.nix
58
snow.nix
|
|
@ -1,7 +1,8 @@
|
||||||
{cerulean, ...} @ inputs:
|
{inputs, ...} @ args: {
|
||||||
cerulean.mkNexus ./. (self: {
|
nodes = {
|
||||||
nexus = {
|
base = inputs.nixpkgs;
|
||||||
specialArgs = {inherit inputs;};
|
args = {inherit inputs;};
|
||||||
|
homeManager = inputs.home-manager;
|
||||||
|
|
||||||
groups = {
|
groups = {
|
||||||
# wait.. that's too cold...
|
# wait.. that's too cold...
|
||||||
|
|
@ -13,36 +14,31 @@ cerulean.mkNexus ./. (self: {
|
||||||
server = {};
|
server = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = let
|
nodes = {
|
||||||
inherit
|
|
||||||
(self.nexus)
|
|
||||||
groups
|
|
||||||
;
|
|
||||||
in {
|
|
||||||
# my laptop <3 :3
|
# my laptop <3 :3
|
||||||
lolcathost = {
|
lolcathost = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
groups = [groups.cryos.cryde];
|
groups = groups: [groups.cryos.cryde];
|
||||||
extraModules = with inputs; [
|
# modules = with inputs; [
|
||||||
grub2-themes.nixosModules.default
|
# grub2-themes.nixosModules.default
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
# nix-flatpak.nixosModules.nix-flatpak
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# i be on my puter frfr
|
# i be on my puter frfr
|
||||||
myputer = {
|
myputer = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
groups = [groups.cryos.cryde];
|
groups = groups: [groups.cryos.cryde];
|
||||||
extraModules = with inputs; [
|
# modules = with inputs; [
|
||||||
grub2-themes.nixosModules.default
|
# grub2-themes.nixosModules.default
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
# nix-flatpak.nixosModules.nix-flatpak
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# courtesy of aurora <3
|
# courtesy of aurora <3
|
||||||
butterfly = {
|
butterfly = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
groups = [groups.server];
|
groups = groups: [groups.server];
|
||||||
deploy.ssh = {
|
deploy.ssh = {
|
||||||
host = "dobutterfliescry.net";
|
host = "dobutterfliescry.net";
|
||||||
user = "cry";
|
user = "cry";
|
||||||
|
|
@ -53,7 +49,7 @@ cerulean.mkNexus ./. (self: {
|
||||||
# pls dont sue me im broke
|
# pls dont sue me im broke
|
||||||
hyrule = {
|
hyrule = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
groups = [groups.server];
|
groups = groups: [groups.server];
|
||||||
deploy.ssh = {
|
deploy.ssh = {
|
||||||
host = "hyrule.dobutterfliescry.net";
|
host = "hyrule.dobutterfliescry.net";
|
||||||
user = "cry";
|
user = "cry";
|
||||||
|
|
@ -61,11 +57,17 @@ cerulean.mkNexus ./. (self: {
|
||||||
};
|
};
|
||||||
|
|
||||||
# call me a statistician the way she spreads in my sheets
|
# call me a statistician the way she spreads in my sheets
|
||||||
# matcha = {
|
matcha = {
|
||||||
# system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
# groups = [groups.server];
|
groups = groups: [groups.server];
|
||||||
# deploy.ssh.host = "bedroom.dobutterfliescry.net";
|
deploy = {
|
||||||
# };
|
remoteBuild = true;
|
||||||
|
ssh = {
|
||||||
|
host = "192.168.88.250"; # <- DEBUG: TEMP: TODO: switch to `matcha.dobutterfliescry.net`
|
||||||
|
user = "emile";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue