Compare commits

..

74 Commits

Author SHA1 Message Date
1d31f870c5 Fix actions runner in macos 2024-10-08 23:24:45 -06:00
9f3f835253 Actions runner working 2024-10-08 23:24:45 -06:00
066902e37a Actions runner runs as kat 2024-10-08 23:24:45 -06:00
d790bc9e25 Put gitea actions runner in its own user 2024-10-08 23:24:45 -06:00
1ea8333994 Gitea runner working 2024-10-08 23:24:45 -06:00
e464d8fec5 [nix-darwin] Updates 2024-10-08 23:24:45 -06:00
14a32c151c [NixOS] Add mac mini key 2024-10-08 23:24:45 -06:00
bfdf5f221e [Darwin-nix] Add cocoapods 2024-10-08 23:24:45 -06:00
ae29832dbc [NixOS] Disable k3s for now on railbird-sf 2024-10-08 13:17:26 -06:00
ae6ce6b19c [NixOS] Fix command 2024-10-07 15:16:16 -06:00
8e1abde359 [NixOS] Fix permissions 2024-10-07 15:12:41 -06:00
c25cd05b15 [NixOS] Just run bucket mounting as root 2024-10-07 15:01:43 -06:00
5deba06fb0 [NixOS] Trying to mount bucket 2024-10-07 15:00:14 -06:00
7dcc785da6 [Emacs] Add import shortcuts for numpy and sqlalchemy 2024-10-06 17:58:49 -06:00
5eb3654d0c [git] Remove dumb gitconfig 2024-10-03 18:43:05 -06:00
Your Name
cbcf03c784 [NixOS] Make gitea-runner a trusted user 2024-10-03 15:18:46 -06:00
Your Name
a9d5ee5eb0 Revert "[NixOS] Disable gitea-runner"
This reverts commit 8402c6f1d2.
2024-10-03 14:28:41 -06:00
Your Name
8402c6f1d2 [NixOS] Disable gitea-runner 2024-10-03 14:16:52 -06:00
Your Name
da8b6b3b75 [NixOS] Bump runner token 2024-10-03 01:22:57 -06:00
Your Name
526bf6e2a9 [NixOS] New gitea-runner secret 2024-10-03 01:22:57 -06:00
Your Name
04870cd682 [NixOS] Biskcomp dev.railbird.ai for k3s 2024-10-02 23:04:36 -06:00
Your Name
46108ab249 [NixOS] Fix 2024-10-02 22:05:11 -06:00
Your Name
a8e23460f9 [NixOS] Fix 2024-10-02 22:03:01 -06:00
Your Name
a88018fe47 [NixOS] Remove flags that don't work with agent for railbird-sf 2024-10-02 22:02:24 -06:00
Your Name
5757681ce0 [NixOS] railbird-sf is only an agent 2024-10-02 21:55:36 -06:00
Your Name
6c393b3837 [NixOS] Fix gpg key import 2024-10-02 19:55:09 -06:00
Your Name
618f927cb9 [NixOS] Fix cdi issues with k3s containerd 2024-10-02 18:54:27 -06:00
Your Name
bb259bf358 [NixOS] Add nixos-nvidia-cdi=enabled label to k3s 2024-10-02 16:24:02 -06:00
Your Name
3f7de563db [NixOS] Fix 2024-10-02 16:15:52 -06:00
Your Name
6ae5f4c503 [NixOS] Remove labels 2024-10-02 16:10:48 -06:00
Your Name
e6c3d55fc8 [NixOS] label -> labels 2024-10-02 16:05:20 -06:00
Your Name
36331ea60c [NixOS] Add label for nvidia cdi 2024-10-02 16:04:16 -06:00
Your Name
6b18d0accf [NixOS] Set cdi spec dirs 2024-10-02 15:43:59 -06:00
Your Name
9a764fc7c8 [NixOS] Its registry.yaml registries.yaml 2024-10-02 14:32:21 -06:00
Your Name
9100167e4d [NixOS] Another registry.yaml fix 2024-10-01 19:09:12 -06:00
Your Name
e0e98bc237 [NixOS] Fix whitespace issue in registry.yaml 2024-10-01 18:59:42 -06:00
Your Name
4c989fcda3 [NixOS] Make registry.yaml real 2024-10-01 18:29:32 -06:00
Your Name
35f8c10e7c [NixOS] k3s registry file working in principle 2024-10-01 16:27:34 -06:00
Your Name
ac49823b4c Try a local serverAddr for biskcomp 2024-09-30 21:36:34 -06:00
daaead9c1e [Emacs] Align with all cursors 2024-09-30 21:34:10 -06:00
Your Name
c5c86145b1 [NixOS] Encrypt k3s token to railbird-sf 2024-09-30 21:05:39 -06:00
Your Name
32755e1411 [NixOS] Enable k3s on biskcomp nixquick and railbird-sf 2024-09-30 20:47:12 -06:00
Your Name
de27a133e7 [NixOS] Take 3 2024-09-30 20:40:39 -06:00
Your Name
f89155e4d2 [NixOS] Actually fix 2024-09-30 20:40:03 -06:00
Your Name
f345cf8f18 [NixOS] Disable tmp2 2024-09-30 20:38:51 -06:00
Your Name
4cb9c006d7 [NixOS] railbird-sf tweaks 2024-10-01 00:41:48 +00:00
1dd54ba638 [NixOS] Allow another alias for api connection 2024-09-30 18:26:14 -06:00
517c2f333e [NixOS] Another fix 2024-09-30 17:25:02 -06:00
d850ba999d [NixOS] Add tls aliases 2024-09-30 17:23:42 -06:00
dd9f5ccf88 [NixOS] Try to fix insecure skip arg 2024-09-30 17:17:41 -06:00
59da59c74f [NixOS] Ignore insecure tls 2024-09-30 17:15:13 -06:00
1f36c4942b [NixOS] Fix serverAddr port for k3s 2024-09-30 16:49:10 -06:00
eaa46e7034 [NixOS] Fix k3s definition 2024-09-30 16:42:58 -06:00
f00d9bdb12 [NixOS] Try to connect jimi-hendnix to ryzen-shine in k3s 2024-09-30 16:35:50 -06:00
1003c33dee [NixOS] Use myModules.nvidia in jimi-hendnix 2024-09-30 15:19:29 -06:00
a493a530be [NixOS] k3s draft 2024-09-30 00:05:50 -06:00
01361b7217 [NixOS] Kubelet->gke kind of works but not really 2024-09-29 17:28:42 -06:00
cdd8ed60e9 [NixOS] Get kubelet partially working 2024-09-28 21:45:25 -06:00
fd033ba72c [NixOS] Add bencbox to syncthing 2024-09-27 19:45:57 -06:00
9aae7c0c16 [NixOS] Remove old virtualization style 2024-09-27 19:37:23 -06:00
aa9be16abf [NixOS] Add macos virtualmachine to nixquick 2024-09-27 14:28:23 -06:00
342fc4f4c6 [NixOS] Use nvidia module for nixquick 2024-09-27 14:23:32 -06:00
d62d538562 [NixOS] Put nvidia configuration into a file 2024-09-27 13:09:45 -06:00
ffb55c157b [NixOS] Fix deprecations in nixquick.nix 2024-09-26 15:43:37 -06:00
cd7698bebf [NixOS] Remove picom overlay for now 2024-09-26 15:26:26 -06:00
700cccfd60 [NixOS] Switch to pipewire and other fixes 2024-09-26 14:25:48 -06:00
814966b172 [Emacs] Disable indent-bars 2024-09-26 14:15:51 -06:00
c4a9a60112 [NixOS] modules -> myModules 2024-09-26 14:15:27 -06:00
9b9da29b7a [NixOS] Enable nvidia-container-toolkit 2024-09-26 11:16:58 -06:00
6cced9dad4 [NixOS] Enable nvidia dockerisation 2024-09-26 11:14:33 -06:00
50542d9b24 [NixOS] Enable kat on nixquick 2024-09-07 18:21:58 +00:00
701e8d7d82 With cursor 2024-08-31 17:03:08 +00:00
10b8f61d27 [NixOS] Picom is only needed for xmonad 2024-08-20 00:43:37 -06:00
58432fe908 [NixOS] Host docs.railbird.ai 2024-08-19 14:32:48 -06:00
62 changed files with 1028 additions and 291 deletions

View File

@ -4,6 +4,7 @@
(setq mc/cmds-to-run-for-all
'(
TeX-insert-backslash
align
backward-sexp
beginning-of-buffer
beginning-of-visual-line

View File

@ -1517,6 +1517,7 @@ https://github.com/alpaker/Fill-Column-Indicator/issues/21 for more details
** indent-bars
#+begin_src emacs-lisp
(use-package indent-bars
:disabled t
:straight (indent-bars :type git :host github :repo "jdtsmith/indent-bars")
:config
(require 'indent-bars-ts) ; not needed with straight

View File

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: inp
# key: inp
# --
import numpy as np

View File

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: isa
# key: isa
# --
import sqlalchemy as sa

View File

@ -3,7 +3,7 @@
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"home-manager": "home-manager_2",
"nixpkgs": [
"railbird-secrets",
"nixpkgs"
@ -101,6 +101,26 @@
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723399884,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"railbird-secrets",
@ -296,6 +316,7 @@
},
"root": {
"inputs": {
"home-manager": "home-manager",
"homebrew-cask": "homebrew-cask",
"homebrew-core": "homebrew-core",
"nix-darwin": "nix-darwin",

View File

@ -19,21 +19,114 @@
url = "github:homebrew/homebrew-cask";
flake = false;
};
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ self, nix-darwin, nixpkgs, ... }:
outputs = inputs@{ self, nix-darwin, nixpkgs, home-manager, ... }:
let
libDir = ../dotfiles/lib;
configuration = { pkgs, config, ... }: {
environment.systemPackages = with pkgs; [
emacs
slack
gitFull
ripgrep
yarn
nodePackages.prettier
vim
networking.hostName = "mac-demarco-mini";
imports = [ (import ./gitea-actions-runner.nix) ];
services.gitea-actions-runner = {
user = "gitea-runner";
instances.nix = {
enable = true;
name = config.networking.hostName;
url = "https://dev.railbird.ai";
token = "H0A7YXAWsKSp9QzvMymfJI12hbxwR7UerEHpCJUe";
labels = [
"nix-darwin-${pkgs.system}:host"
"macos-aarch64-darwin"
"nix:host"
];
settings = {
cache = {
enabled = true;
};
host = {
workdir_parent = "/var/lib/gitea-runner/action-cache-dir";
};
};
hostPackages = with pkgs; [
bash
coreutils
curl
direnv
gawk
just
git-lfs
isort
gitFull
gnused
ncdu
nixFlakes
nodejs
openssh
wget
];
};
};
launchd.daemons.gitea-runner-nix.serviceConfig.EnvironmentVariables = {
XDG_CONFIG_HOME = "/var/lib/gitea-runner";
XDG_CACHE_HOME = "/var/lib/gitea-runner/.cache";
XDG_RUNTIME_DIR = "/var/lib/gitea-runner/tmp";
};
# launchd.daemons.gitea-runner-restarter = {
# serviceConfig = {
# ProgramArguments = [
# "/usr/bin/env"
# "bash"
# "-c"
# ''
# SERVICE_NAME="org.nixos.gitea-runner-nix"
# while true; do
# # Check the second column of launchctl list output for our service
# EXIT_CODE=$(sudo launchctl list | grep "$SERVICE_NAME" | awk '{print $2}')
# if [ -z "$EXIT_CODE" ]; then
# echo "$(date): $SERVICE_NAME is running correctly. Terminating the restarter."
# exit 0
# else
# echo "$(date): $SERVICE_NAME is not running or in error state. Attempting to restart..."
# sudo launchctl bootout system/$SERVICE_NAME 2>/dev/null || true
# sudo launchctl load /Library/LaunchDaemons/$SERVICE_NAME.plist
# sleep 2 # Give the service some time to start
# fi
# done
# ''
# ];
# RunAtLoad = true;
# ThrottleInterval = 300;
# };
# };
launchd.daemons.does-anything-work = {
serviceConfig = {
ProgramArguments = ["/usr/bin/env" "bash" "-c" "date > /var/log/does-anything-work"];
RunAtLoad = true;
};
};
nixpkgs.overlays = [(import ../nixos/overlay.nix)];
environment.systemPackages = with pkgs; [
python-with-my-packages
emacs
alejandra
cocoapods
gitFull
just
tmux
htop
nodePackages.prettier
nodejs
ripgrep
slack
typescript
vim
yarn
];
nixpkgs.config.allowUnfree = true;
@ -48,26 +141,63 @@
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";
# Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true;
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
# Used for backwards compatibility, please read the changelog before changing
system.stateVersion = 4;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
users.users.kat.openssh.authorizedKeys.keys = inputs.railbird-secrets.keys.kanivanKeys;
users.users.gitea-runner = {
name = "gitea-runner";
isHidden = false;
home = "/Users/gitea-runner";
createHome = false;
};
home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true;
users.users.kat = {
name = "kat";
home = "/Users/kat";
};
programs.zsh = {
enable = true;
shellInit = ''
fpath+="${libDir}/functions"
for file in "${libDir}/functions/"*
do
autoload "''${file##*/}"
done
'';
interactiveShellInit = ''
# eval "$(register-python-argcomplete prb)"
# eval "$(register-python-argcomplete prod-prb)"
# eval "$(register-python-argcomplete railbird)"
# [ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
'';
};
home-manager.users.kat = {
programs.starship = {
enable = true;
};
programs.zsh.enable = true;
home.stateVersion = "24.05";
};
};
in
{
# Build darwin flake using:
# $ darwin-rebuild build --flake .#Kats-Mac-mini
darwinConfigurations."Kats-Mac-mini" = nix-darwin.lib.darwinSystem {
darwinConfigurations."mac-demarco-mini" = nix-darwin.lib.darwinSystem {
modules = [
home-manager.darwinModules.home-manager
configuration
];
};

View File

@ -0,0 +1,176 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.services.gitea-actions-runner;
settingsFormat = pkgs.formats.yaml {};
hasDockerScheme = instance:
instance.labels == [] || any (label: hasInfix ":docker:" label) instance.labels;
wantsContainerRuntime = any hasDockerScheme (attrValues cfg.instances);
hasHostScheme = instance: any (label: hasSuffix ":host" label) instance.labels;
tokenXorTokenFile = instance:
(instance.token == null && instance.tokenFile != null)
|| (instance.token != null && instance.tokenFile == null);
in {
options.services.gitea-actions-runner = {
package = mkOption {
type = types.package;
default = pkgs.gitea-actions-runner;
defaultText = literalExpression "pkgs.gitea-actions-runner";
description = "The gitea-actions-runner package to use.";
};
user = mkOption {
type = types.str;
default = "gitea-runner";
description = "The user account under which the Gitea Actions Runner should run.";
};
instances = mkOption {
default = {};
description = "Gitea Actions Runner instances.";
type = types.attrsOf (types.submodule {
options = {
enable = mkEnableOption "Gitea Actions Runner instance";
name = mkOption {
type = types.str;
example = "my-runner";
description = "The name identifying the runner instance towards the Gitea/Forgejo instance.";
};
url = mkOption {
type = types.str;
example = "https://forge.example.com";
description = "Base URL of your Gitea/Forgejo instance.";
};
token = mkOption {
type = types.nullOr types.str;
default = null;
description = "Plain token to register at the configured Gitea/Forgejo instance.";
};
tokenFile = mkOption {
type = types.nullOr (types.either types.str types.path);
default = null;
description = "Path to a file containing the token to register at the configured Gitea/Forgejo instance.";
};
labels = mkOption {
type = types.listOf types.str;
default = [];
example = ["macos:host" "x86_64:host"];
description = "Labels used to map jobs to their runtime environment.";
};
settings = mkOption {
description = "Configuration for `act_runner daemon`.";
type = types.submodule {
freeformType = settingsFormat.type;
};
default = {};
};
hostPackages = mkOption {
type = types.listOf types.package;
default = with pkgs; [
bash
coreutils
curl
gawk
git
gnused
nodejs
wget
openssh
];
description = "List of packages available to actions when the runner is configured with a host execution label.";
};
};
});
};
};
config = mkIf (cfg.instances != {}) {
assertions = [
{
assertion = all tokenXorTokenFile (attrValues cfg.instances);
message = "Instances of gitea-actions-runner can have `token` or `tokenFile`, not both.";
}
];
users.users.${cfg.user} = {
name = cfg.user;
description = "Gitea Actions Runner user";
};
launchd.daemons =
(mapAttrs' (
name: instance:
nameValuePair "gitea-runner-${name}" {
serviceConfig = {
ProgramArguments = [
"/usr/bin/env"
"bash"
"-c"
''
cd /var/lib/gitea-runner/${name}
exec ${cfg.package}/bin/act_runner daemon --config ${settingsFormat.generate "config.yaml" instance.settings}
''
];
KeepAlive = true;
ThrottleInterval = 5;
SessionCreate = true;
UserName = cfg.user;
GroupName = "staff";
WorkingDirectory = "/var/lib/gitea-runner/${name}";
EnvironmentVariables = {
PATH = (lib.makeBinPath (instance.hostPackages ++ [cfg.package])) + ":/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin";
};
};
}
)
cfg.instances)
// (mapAttrs' (
name: instance:
nameValuePair "gitea-runner-setup-${name}"
{
serviceConfig = {
EnvironmentVariables =
{}
// optionalAttrs (instance.token != null) {
TOKEN = instance.token;
};
RunAtLoad = true;
ProgramArguments = [
"${pkgs.writeShellScript "gitea-runner-setup-${name}" ''
mkdir -p /var/lib/gitea-runner/${name}
cd /var/lib/gitea-runner/${name}
if [ ! -e "/var/lib/gitea-runner/${name}/.runner" ]; then
${cfg.package}/bin/act_runner register --no-interactive \
--instance ${escapeShellArg instance.url} \
--token "$TOKEN" \
--name ${escapeShellArg instance.name} \
--labels ${escapeShellArg (concatStringsSep "," instance.labels)} \
--config ${settingsFormat.generate "config.yaml" instance.settings}
fi
# Start the runner
chown -R ${cfg.user} /var/lib/gitea-runner
chown -R ${cfg.user} /var/log/gitea-runner
''}"
];
};
}
)
cfg.instances);
};
}

View File

@ -1,5 +1,5 @@
{ config, pkgs, forEachUser, makeEnable, realUsers, ... }:
makeEnable config "modules.base" true {
makeEnable config "myModules.base" true {
nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u"
"electron-12.2.3"
@ -36,7 +36,7 @@ makeEnable config "modules.base" true {
};
# Audio
hardware.pulseaudio.enable = true;
hardware.pulseaudio.enable = false;
# Bluetooth
hardware.bluetooth.enable = true;
@ -70,5 +70,5 @@ makeEnable config "modules.base" true {
programs.dconf.enable = true;
home-manager.users = forEachUser (import ./home-manager.nix);
nix.settings.trusted-users = realUsers;
nix.settings.trusted-users = realUsers ++ ["gitea-runner"];
}

View File

@ -1,5 +1,5 @@
{ pkgs, inputs, config, makeEnable, ... }:
makeEnable config "modules.ben" true {
makeEnable config "myModules.ben" true {
home-manager.backupFileExtension = "backup"; # Add this line
home-manager.users.ben = {
programs.zsh = {

View File

@ -1,10 +1,10 @@
{ config, lib, ... }:
with lib;
let cfg = config.modules.cache-server;
let cfg = config.myModules.cache-server;
in
{
options = {
modules.cache-server = {
myModules.cache-server = {
enable = mkEnableOption "nix cache server";
port = mkOption {
type = types.int;

View File

@ -1,5 +1,5 @@
{ pkgs, config, makeEnable, ... }:
makeEnable config "modules.code" true {
makeEnable config "myModules.code" true {
programs.direnv = {
enable = true;
nix-direnv.enable = true;

View File

@ -19,11 +19,13 @@
./gnome.nix
./imalison.nix
./internet-computer.nix
./k3s.nix
./kat.nix
./keybase.nix
./kubernetes.nix
./kubelet.nix
./nix.nix
./nixified.ai.nix
./nvidia.nix
./options.nix
./plasma.nix
./postgres.nix
@ -43,17 +45,17 @@
};
config = lib.mkIf config.features.full.enable {
modules.base.enable = true;
modules.desktop.enable = true;
modules.plasma.enable = true;
modules.gnome.enable = false;
modules.xmonad.enable = true;
modules.extra.enable = true;
modules.electron.enable = true;
modules.code.enable = true;
modules.games.enable = true;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.plasma.enable = true;
myModules.gnome.enable = false;
myModules.xmonad.enable = true;
myModules.extra.enable = true;
myModules.electron.enable = true;
myModules.code.enable = true;
myModules.games.enable = true;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
};
}

View File

@ -1,5 +1,5 @@
{ config, pkgs, makeEnable, ... }:
makeEnable config "modules.desktop" true {
makeEnable config "myModules.desktop" true {
imports = [
./fonts.nix
];
@ -70,9 +70,8 @@ makeEnable config "modules.desktop" true {
networkmanagerapplet
notify-osd-customizable
okular
picom
pinentry
psensor
mission-center
quassel
remmina
rofi

View File

@ -1,5 +1,5 @@
{ pkgs, config, makeEnable, forEachUser, ... }:
makeEnable config "modules.electron" false {
makeEnable config "myModules.electron" false {
environment.systemPackages = with pkgs; [
element-desktop
# bitwarden

View File

@ -1,5 +1,5 @@
{ config, pkgs, makeEnable, ... }:
makeEnable config "modules.extra" false {
makeEnable config "myModules.extra" false {
services.expressvpn.enable = true;
programs.hyprland.enable = true;

View File

@ -217,6 +217,45 @@
"type": "indirect"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"nixtheplanet",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-utils": {
"inputs": {
"systems": [
@ -224,11 +263,11 @@
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
@ -242,11 +281,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
@ -594,7 +633,7 @@
"lsp": "lsp",
"lsp-test": "lsp-test",
"lsp-types": "lsp-types",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_8",
"ormolu-052": "ormolu-052",
"ormolu-07": "ormolu-07",
"stylish-haskell-0145": "stylish-haskell-0145"
@ -629,7 +668,7 @@
"lsp": "lsp_2",
"lsp-test": "lsp-test_2",
"lsp-types": "lsp-types_2",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_10",
"ormolu-052": "ormolu-052_2",
"ormolu-07": "ormolu-07_2",
"stylish-haskell-0145": "stylish-haskell-0145_2"
@ -671,6 +710,25 @@
"type": "github"
}
},
"hercules-ci-effects_2": {
"inputs": {
"flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1701009247,
"narHash": "sha256-GuX16rzRze2y7CsewJLTV6qXkXWyEwp6VCZXi8HLruU=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "31b6cd7569191bfcd0a548575b0e2ef953ed7d09",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"hiedb": {
"flake": false,
"locked": {
@ -781,11 +839,11 @@
]
},
"locked": {
"lastModified": 1723399884,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"lastModified": 1727381010,
"narHash": "sha256-2PqUwnZXjYiPUm5A4d8Z31mvLS4lvUeV/9gUhSMmNR4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"rev": "853e7bd24f875bac2e3a0cf72f993e917d0f8cf5",
"type": "github"
},
"original": {
@ -959,11 +1017,11 @@
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1723343056,
"narHash": "sha256-ixvBNplVIqUqvshVi5azgPiGIFXlXDmahDcoP/guuTE=",
"lastModified": 1727380702,
"narHash": "sha256-1YUAqvZc9YOUERyPiaOGYEg2fIf20+yIWGhzB0Ke6j8=",
"owner": "NixOS",
"repo": "nix",
"rev": "18485d2d53622c6ec7beab80c77efbd49ed682e2",
"rev": "0ed67e5b7ee9ad8fae162e1b10b25d22ada2b1f3",
"type": "github"
},
"original": {
@ -1016,11 +1074,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1723124175,
"narHash": "sha256-w+rlZdbj4kn70uPJl4WrPDFoGEy0A9oJqw684nvZ9dY=",
"lastModified": 1727091786,
"narHash": "sha256-n36Vtdtx7tTTKFI9aoWxdNIlJ2dwxoitFDwcPXrS+Jk=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690",
"rev": "1fcec53c692c15091ca5bb9eaf86a2cac6c53278",
"type": "github"
},
"original": {
@ -1061,6 +1119,24 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1701253981,
"narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
@ -1077,28 +1153,43 @@
"type": "github"
}
},
"nixpkgs-regression_2": {
"nixpkgs_10": {
"locked": {
"lastModified": 1723405223,
"narHash": "sha256-VSHY8GQ64AseobyeoVkJl+ZDaWPGzKs+CG6RfDM159o=",
"lastModified": 1686874404,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "938253e0f8d5c98c4515a10cc388239cc1431db8",
"rev": "efc10371d5c5b8d2d58bab6c1100753efacfe550",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_11": {
"locked": {
"lastModified": 1721548954,
"narHash": "sha256-7cCC8+Tdq1+3OPyc3+gVo9dzUNkNIQfwSDJ2HSi2u3o=",
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "63d37ccd2d178d54e7fb691d7ec76000740ea24a",
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1723688146,
"narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c3d4ac725177c030b1e289015989da2ad9d56af0",
"type": "github"
},
"original": {
@ -1126,11 +1217,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1722087241,
"narHash": "sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU=",
"lastModified": 1726838390,
"narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c50662509100d53229d4be607f1a3a31157fa12",
"rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101",
"type": "github"
},
"original": {
@ -1142,11 +1233,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1723175592,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"lastModified": 1727122398,
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
"type": "github"
},
"original": {
@ -1158,31 +1249,31 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1686874404,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=",
"lastModified": 1697723726,
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "efc10371d5c5b8d2d58bab6c1100753efacfe550",
"rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1709703039,
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
"owner": "NixOS",
"lastModified": 1703255338,
"narHash": "sha256-Z6wfYJQKmDN9xciTwU3cOiOk+NElxdZwy/FiHctCzjU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
"rev": "6df37dc6a77654682fe9f071c62b4242b5342e04",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@ -1206,16 +1297,39 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
"lastModified": 1709703039,
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixtheplanet": {
"inputs": {
"flake-parts": "flake-parts_4",
"hercules-ci-effects": "hercules-ci-effects_2",
"nixpkgs": "nixpkgs_7",
"osx-kvm": "osx-kvm"
},
"locked": {
"lastModified": 1727105240,
"narHash": "sha256-FEuqbcZ4TDUMwCpTA/E3J5L7pLD4U+zXPnZbmXSmaJo=",
"owner": "matthewcroughan",
"repo": "nixtheplanet",
"rev": "2f622af217807da78e44a5a15f620743dac57f46",
"type": "github"
},
"original": {
"owner": "matthewcroughan",
"repo": "nixtheplanet",
"type": "github"
}
},
"notifications-tray-icon": {
@ -1293,18 +1407,34 @@
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
}
},
"osx-kvm": {
"flake": false,
"locked": {
"lastModified": 1701316418,
"narHash": "sha256-Sk8LYhFovoMX1ln7DWYArJQphW2a4h8Xg7/ZEZXwZv4=",
"owner": "kholia",
"repo": "OSX-KVM",
"rev": "09daff670a7eb9ff616073df329586c5995623a9",
"type": "github"
},
"original": {
"owner": "kholia",
"repo": "OSX-KVM",
"type": "github"
}
},
"railbird-secrets": {
"inputs": {
"agenix": "agenix_2",
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1722639965,
"narHash": "sha256-ZRe5Z5s/UNaXI2piyncQ3YrFl5q3GryZAfFTyeJ/vhM=",
"lastModified": 1726075726,
"narHash": "sha256-eQPDAzUJg8fwqiCyWsKxtHV+G1LGJKs9X3ZtOzytuDE=",
"ref": "refs/heads/master",
"rev": "9a92b83c3ad376620db3556c33e51a4300c5badd",
"revCount": 73,
"rev": "70d8ffd3f3b79b97477ae0655524273bb098b6c5",
"revCount": 86,
"type": "git",
"url": "ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git"
},
@ -1327,7 +1457,7 @@
"nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_5",
"nixpkgs-regression": "nixpkgs-regression_2",
"nixtheplanet": "nixtheplanet",
"notifications-tray-icon": "notifications-tray-icon",
"railbird-secrets": "railbird-secrets",
"status-notifier-item": "status-notifier-item",
@ -1570,6 +1700,7 @@
},
"original": {
"owner": "taffybar",
"ref": "old-master",
"repo": "taffybar",
"type": "github"
}
@ -1593,11 +1724,11 @@
},
"unstable": {
"locked": {
"lastModified": 1723175592,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"lastModified": 1727122398,
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
"type": "github"
},
"original": {
@ -1610,7 +1741,7 @@
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1713958148,
@ -1640,11 +1771,11 @@
"unstable": "unstable"
},
"locked": {
"lastModified": 1722277235,
"narHash": "sha256-fuEgR51OPzwff+ygFhBqJm51oA17rR0KtPfuDLv0Fp0=",
"lastModified": 1726451364,
"narHash": "sha256-6WKgYq0+IzPSXxVl1MfODIVwEbd3Sw0zc5sMSOyzA8I=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "a58ccac7ba46414915de6c7f2b4da08b37784016",
"rev": "a4140b93497333ec7f3127ee4dabcb8ae8a721b6",
"type": "github"
},
"original": {

View File

@ -1,5 +1,6 @@
{
inputs = {
nixtheplanet.url = "github:matthewcroughan/nixtheplanet";
railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
};
@ -34,7 +35,7 @@
};
taffybar = {
url = "github:taffybar/taffybar";
url = "github:taffybar/taffybar/old-master";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
@ -104,8 +105,6 @@
vscode-server.url = "github:nix-community/nixos-vscode-server";
nixpkgs-regression = { url = "github:NixOS/nixpkgs"; };
nixified-ai = { url = "github:nixified-ai/flake"; };
nixos-wsl = { url = "github:nix-community/NixOS-WSL"; };
@ -114,7 +113,7 @@
};
outputs = inputs@{
self, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad,
self, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad, nixtheplanet,
xmonad-contrib, notifications-tray-icon, nix, agenix, imalison-taffybar, ...
}:
let
@ -126,7 +125,7 @@
name = machineNameFromFilename filename;
value = {
modules = [
(machinesFilepath + ("/" + filename)) agenix.nixosModules.default
(machinesFilepath + ("/" + filename)) agenix.nixosModules.default nixtheplanet.nixosModules.macos-ventura
];
};
};

View File

@ -1,5 +1,5 @@
{ pkgs, makeEnable, config, ... }:
makeEnable config "modules.fonts" true {
makeEnable config "myModules.fonts" true {
# Enable the gtk icon cache
gtk.iconCache.enable = true;

View File

@ -1,5 +1,5 @@
{ config, pkgs, makeEnable, ... }:
makeEnable config "modules.games" false {
makeEnable config "myModules.games" false {
environment.systemPackages = with pkgs; [
steam
# heroic

View File

@ -1,7 +1,7 @@
{ pkgs, config, makeEnable, ... }:
makeEnable config "modules.gitea-runner" false {
makeEnable config "myModules.gitea-runner" false {
age.secrets.gitea-runner-token = {
file = ./secrets/gitea-runner-token.${config.networking.hostName}.age;
file = ./secrets/gitea-runner-token.age;
group = "docker";
};

View File

@ -1,5 +1,5 @@
{ config, makeEnable, ... }:
makeEnable config "modules.gitea" false {
makeEnable config "myModules.gitea" false {
services.gitea = {
enable = true;

View File

@ -1,5 +1,5 @@
{ config, makeEnable, ... }:
makeEnable config "modules.gnome" false {
makeEnable config "myModules.gnome" false {
services.xserver = {
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;

96
nixos/k3s.nix Normal file
View File

@ -0,0 +1,96 @@
{
pkgs,
config,
lib,
...
}:
with lib; let
cfg = config.myModules.railbird-k3s;
mount-path = "/var/lib/railbird/bucket";
bucket-name = "railbird-dev-videos";
in {
options = {
myModules.railbird-k3s = {
enable = mkEnableOption "railbird k3s";
serverAddr = mkOption {
type = lib.types.str;
default = "";
};
};
};
config = mkIf cfg.enable {
age.secrets."1896Folsom-k3s-token.age".file = ./secrets/1896Folsom-k3s-token.age;
age.secrets."k3s-registry.yaml.age".file = ./secrets/k3s-registry.yaml.age;
age.secrets.api-service-key = {
file = ./secrets/api_service_account_key.json.age;
owner = "railbird";
group = "users";
};
environment.etc."rancher/k3s/registries.yaml".source = config.age.secrets."k3s-registry.yaml.age".path;
services.dockerRegistry = {
enable = true;
listenAddress = "0.0.0.0";
port = 5279;
enableDelete = true;
enableGarbageCollect = true;
};
systemd.services.mount-railbird-bucket = {
after = ["agenix.service"];
description = "Mount railbird bucket";
serviceConfig = {
Type = "simple";
RemainAfterExit = true;
ExecStartPre = [
"-${pkgs.util-linux}/bin/umount -f ${mount-path}"
"${pkgs.coreutils}/bin/mkdir -p ${mount-path}"
"${pkgs.coreutils}/bin/chown railbird:users ${mount-path}"
"${pkgs.coreutils}/bin/chmod 0775 ${mount-path}"
];
ExecStart = "${pkgs.gcsfuse}/bin/gcsfuse --implicit-dirs --key-file ${config.age.secrets.api-service-key.path} ${bucket-name} ${mount-path}";
User = "root";
};
};
services.k3s = {
enable = true;
clusterInit = cfg.serverAddr == "";
serverAddr = cfg.serverAddr;
configPath = pkgs.writeTextFile {
name = "k3s-config.yaml";
text = ''
kubelet-arg:
- "eviction-hard=nodefs.available<2Gi"
- "eviction-soft=nodefs.available<5Gi"
- "eviction-soft-grace-period=nodefs.available=5m"
'';
};
tokenFile = config.age.secrets."1896Folsom-k3s-token.age".path;
extraFlags = [
"--tls-san ryzen-shine.local"
"--tls-san nixquick.local"
"--tls-san biskcomp.local"
"--tls-san jimi-hendnix.local"
"--tls-san dev.railbird.ai"
"--node-label nixos-nvidia-cdi=enabled"
];
containerdConfigTemplate = ''
{{ template "base" . }}
[plugins]
"io.containerd.grpc.v1.cri".enable_cdi = true
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
privileged_without_host_devices = false
runtime_engine = ""
runtime_root = ""
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
BinaryName = "/run/current-system/sw/bin/nvidia-container-runtime"
'';
gracefulNodeShutdown = {
enable = true;
};
};
};
}

View File

@ -1,10 +1,11 @@
{ pkgs, inputs, config, makeEnable, ... }:
makeEnable config "modules.kat" false {
makeEnable config "myModules.kat" false {
environment.systemPackages = with pkgs; [
bitwarden
obsidian
obs-studio
ffmpeg
code-cursor
];
environment.extraInit = ''

View File

@ -23,6 +23,7 @@ rec {
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOVGIGnpkU7HNQ/zl/Ffi562M+laWY9/yIjB63BCMiTS kat@nixcomp.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO3tlMePru6ZlSuf8yUii3N1dy3WwJnSQAt3EgETkctK kat@jay-lenovo.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrOYD3ReFc2+xFUylBFHREcm1lO7BRJGW5JrOoY3I8s ivanm@strixi-minaj"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINYy93265G59aA1ksckjqlfeHq0vpEpzC8BwqCrpeXdh kat@Kats-Mac-mini.local"
];
deanKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDvbEVL+y7eV4+mtxOuHwyomBBQ6uYMesctstua20+e deanwenstrand@deans-mbp-2.lan"
@ -56,6 +57,5 @@ rec {
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJ6lD0c+frh2vzQjvsrsmJpwM1ovaY59m5NNPml5G+E benjamin.j.corner@gmail.com"
];
interviewKeys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDr3Rim92K0aNWh2wCZjZMj927H6NZMvw+Jg5giVEklv/eeXlJn81xm9kFsqWOmN0IyS4X+2V2G/43t4C+REmzMKjkzTu9u6SJi+pC3jdJRm80sJCz2LBdRjPaY3CEubiUdxWvjisE8wUI1YuxxdegJpcemvhZXBfDU+DOqNEtF9KiPhXFMOoGU18k5AqFatdmE4z0H158cc6rCxdEiM8s+H6AJDA+xZSn9BPSx2I/ySRapoN0qJDloV19795ggnegBOjNuGejnKI0RZ8CyTcf1945Yi8/O/i/IChRlxiArjgAbC2DItkQig8YyQYz6WlKE9bwruMqe+8mgBAfuQXH8yTADwD1156VCRGoYAorAz4CLm73oGKtx4pa6WFsklWAIK1UEAhuLT6FKaJ/mmfKxcqdHxj+29FNo3d2Pam/ecFd0aERi5TExH5GKZr+LI7yKQmgk6laiR0n1wZuDwlNN7+69GH+ScxRngGCkc3RdTToqXzEaN3B6EyiAN/sAUgs= finn@LAPTOP-JI7BSSRJ"
];
}

23
nixos/kubelet-client.crt Normal file
View File

@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDyTCCAjGgAwIBAgIRAMQBZiVjA5BGSkDldScI9cMwDQYJKoZIhvcNAQELBQAw
LzEtMCsGA1UEAxMkM2I2N2M2NzgtNzI5My00YTIzLTg3ZWItY2NiMTZjYWFkMzFm
MB4XDTI0MDkyOTIwNTAzNloXDTI5MDkyODIwNTIzNlowOTEVMBMGA1UEChMMc3lz
dGVtOm5vZGVzMSAwHgYDVQQDExdzeXN0ZW06bm9kZTpyeXplbi1zaGluZTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANIOfbq05IIdgX2jXYLaEt66rkXp
NlqPNfh6v9nL1Aw6PSM3DEIWXVko8AyduRF4kXNO6xc6l/Rzk03w3qSvJpWpALGD
JjslgRL4VJWUC6/QydsCO9io7SoUEmXFtDcsW6DftFejosr+56ZnVFrz5MMzfUAL
Ix6n83NJvXZ8f9oHSX8TFW34ZClLxDq2fprFIs+D2QlFRE50Jr/Q8gPI2OSQDUBW
DFdQrjt81bLs6doQipUqvHb4/Ms49agHek1ceWIMf+KZWoao5KNQTBe6XL2BUgA/
MS3ZvQppDDTygA0QkgdtOJyG2lsrAmd7LEXTr9ilsqLV3YQMMKhCifwINa0CAwEA
AaNWMFQwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMAwGA1Ud
EwEB/wQCMAAwHwYDVR0jBBgwFoAUjvcbOeZ4QIk53EkATOaOFiAZUq0wDQYJKoZI
hvcNAQELBQADggGBAELWgmdmg9TKjDDqmF6pYr1j43gZYclXW4sB509itSiIeltX
Isrvn5R5ok0W5Jcl+7QMhpntqIKJi26OqbcdBhqlaVURkBkbrx8aegkWJfPO+Fzz
NyyiIpk7KQzGy6N5//jfMPZtJfQEQZwMenW0cj7F0QHOdVZy90+JNr2P3uV3Ad7u
WZuYpbOFjOeQg1hJsX8wEU4KJyptn/kXhM+CqAnQ4S+k2wpjECD8KpWKAmpJWZg0
RaBPyHZSmWnbXqs4LU6ERaZJxZQG0ODuA18DmGfaAkUUUvE2J0ploc2Y8Xl4zUWW
Ivwslyx30YO3J9qI30d9tTQw/A0vHCoDNDbCg7lorZqP3TiTG9ANLndPqqg6inYU
yfj612//JrO8w/4qh7cxR03P35aK0paLC74FaKLtZ5CwPK3BAW/0Zhv5fH4io6hE
rfJmcjhbKD0Cwr9Dn6wVFz/a33H+0vMohHrVlDk4bSDIymbuJcZpYgR8n5WNQbGu
nwjiLXCnVxcVjkcj2w==
-----END CERTIFICATE-----

22
nixos/kubelet.nix Normal file
View File

@ -0,0 +1,22 @@
{ config, pkgs, makeEnable, ... }:
makeEnable config "myModules.kubelet" false {
age.secrets."api_service_account_key.json.age".file = ./secrets/api_service_account_key.json.age;
services.kubernetes.kubelet = {
enable = true;
kubeconfig = {
server = "https://34.31.205.230";
caFile = ./railbird-kubernetes.crt;
certFile = ./kubelet-client.crt;
keyFile = config.age.secrets."api_service_account_key.json.age".path;
};
registerNode = true;
cni = {
packages = [ pkgs.cni-plugins pkgs.calico-cni-plugin ];
};
extraOpts = ''
--fail-swap-on=false
# --container-runtime=remote
# --container-runtime-endpoint=unix:///run/containerd/containerd.sock
'';
};
}

View File

@ -1,19 +0,0 @@
{ pkgs, config, makeEnable, ... }:
makeEnable config "modules.railbirdKubernetesNode" true {
environment.etc."kubernetes/ca.crt" = {
text = builtins.readFile (pkgs.writeText "ca.crt" (builtins.fromBase64 "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVMVENDQXBXZ0F3SUJBZ0lSQUxOeE9UN0o3Ti9lSzZlZHA5TGJLQUl3RFFZSktvWklodmNOQVFFTEJRQXcKTHpFdE1Dc0dBMVVFQXhNa00ySTJOMk0yTnpndE56STVNeTAwWVRJekxUZzNaV0l0WTJOaU1UWmpZV0ZrTXpGbQpNQ0FYRFRJek1USXlPVEU1TlRRME1sb1lEekl3TlRNeE1qSXhNakExTkRReVdqQXZNUzB3S3dZRFZRUURFeVF6CllqWTNZelkzT0MwM01qa3pMVFJoTWpNdE9EZGxZaTFqWTJJeE5tTmhZV1F6TVdZd2dnR2lNQTBHQ1NxR1NJYjMKRFFFQkFRVUFBNElCandBd2dnR0tBb0lCZ1FDVVlVdVRycERid1VTMkIzU1lVb2E3TEk1bWk4Tk5yMGxEZTF3NAozeVBwVm51NnVidm5UTm0yai92ODhIWXdFamxwcEVnNEhqaFA3WUVKOGdzR2RnVUNwSWFQV1RwaWZWbUE3RTRvCjJEYkpEaWVQa2tVR2tOTDB3aENDbE9PY08waHl4ZGs5UG9sNXdSemNpMGw2elNhbEU2REI0ckpybUI1UHBsL0EKdDJLQVZWcXB3YnlubWJpanI0eVpoN0JwN0xmYUlyRnRobHYyWlBFakxmUEx6N1l0aEJ3OS9pVXQ5NG1MTXlXWgpCcHlnQTV5L0NvY1FRbm5GTW5VMW8wZVVkMzdZTDd6RXJmSXh4L0FtTDEwU3EwcWRGWGlZT0pKcXViVVJiZFM4CkRaNmR5SGRYK1VseFBsczJSbHg5bkRhaU5HRkpkenFISnpEZE9sek4za2tkRFFvTzh4VWRIOWVrRlU3ck93a1AKNU5wdWJTd3JkMUZPR0hoK0VrbnVnbkVRRDRPaXAvWVE3SVVqM0FmbTVBZzJsYTlrNFdKUmdqQUNia1EyK2s5SQpzRm1QbW1NVkhuOW5lcENNaVlRTWpYN0FwWncwaXNEUGVWSzVFdVFlSW1ndTd1Tm9WOFI1VndHMFhvQkNYejRTClVxWXYxMXVFc01xRnUwN1p3bHpuc3hubTB1RUNBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1BOEcKQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGSTczR3pubWVFQ0pPZHhKQUV6bWpoWWdHVkt0TUEwRwpDU3FHU0liM0RRRUJDd1VBQTRJQmdRQW0xOXpsbTNXVmVQZmxBNlpoL0Z4dkU4TWlyckpGNmptSnpSckJDRU01CkR3a1NtWTNkdk9OcUNZZWVOYjQreFdYV1E4ZVZLVmxQZGtvVzNWN0g1eG5KNjNkWFJOTjJsUTNKcFNURzMreVAKT21wNlhHWTltbWF0ZEh3eVY3TjRoMTBhS0VXQXVSaHkxNDhzZEpaTFlqMExiUjQycENWWWhFUDREM1FqN0tqTgpQSmUrY1I4TlNwaVltREg1eTg4SnF1Ynp0ajVOVmNEai9pTjloLzcvR2FqYlU2bENnTi9TeFpnaTljTkdqeFNiCkpIRkhFMk1wM3o5c2pzaWVUWE1wbExxSzA0NVRRMklCcW5KeU1kS2t2U05rUlVDYnoyeVhkaUlPS3R2VTRseTAKaDg4NHo5UDVKUTlieGUrNmN3WUM0a3kzRzVXWU1uKytSVXN1Q2s0U2NzcmJadE05anBLbnovVHlnTWRWVEM1dwpTaXE2T0hLdEFuaDhBeDFMRUtpY2c5RkxkNk9EeFIzT1ZLdStmVVBWNFhIQVdKbm12RWxHbGl2am5lSGlFK09MCmR6Z2IvQ2ZCRUdIWUJWYzJQRElod0JtVWRvRVovdDNVanZtU0k0NlpibFlwV29kSnZMRndnZTJIeFNpdlJsTFcKVWgvb1BXWDVOL0NIOUkzNEhUQWhJNDg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"));
mode = "0644";
};
services.kubernetes = {
roles = ["node"];
kubelet = {
extraOpts = "--cloud-provider=external";
registerNode = true;
kubeconfig = {
server = "https://34.31.205.230";
caFile = "/etc/kubernetes/ca.crt";
};
};
};
}

View File

@ -6,16 +6,16 @@
inputs.nixos-hardware.nixosModules.dell-xps-17-9700-nvidia
];
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
modules.gitea-runner.enable = false;
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = true;
myModules.extra.enable = false;
myModules.code.enable = true;
myModules.games.enable = false;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
myModules.gitea-runner.enable = false;
hardware.enableRedistributableFirmware = true;

View File

@ -8,10 +8,10 @@
sublime
vlc
];
modules.desktop.enable = false;
modules.plasma.enable = false;
myModules.desktop.enable = false;
myModules.plasma.enable = false;
imalison.nixOverlay.enable = false;
modules.wsl.enable = true;
myModules.wsl.enable = true;
networking.hostName = "bencbox";

View File

@ -13,25 +13,31 @@ in
extraGroups = ["syncthing"];
};
modules.raspberry-pi.enable = true;
myModules.raspberry-pi.enable = true;
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = false;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
modules.cache-server = {
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = false;
myModules.extra.enable = false;
myModules.code.enable = true;
myModules.games.enable = false;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
myModules.cache-server = {
enable = false;
host-string = biskcomp-nginx-hostnames;
port = 80;
path = "/nix-cache";
};
modules.gitea.enable = true;
modules.gitea-runner.enable = false;
myModules.gitea.enable = true;
myModules.gitea-runner.enable = false;
myModules.railbird-k3s = {
enable = true;
serverAddr = "https://dev.railbird.ai:6443";
};
services.k3s.disableAgent = true;
services.vaultwarden = {
enable = true;

View File

@ -5,15 +5,15 @@
../configuration.nix
];
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = false;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = false;
myModules.extra.enable = false;
myModules.code.enable = true;
myModules.games.enable = false;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
hardware.enableRedistributableFirmware = true;

View File

@ -5,10 +5,10 @@
];
services.xserver.enable = true;
environment.systemPackages = with pkgs; [sublime];
modules.desktop.enable = false;
modules.plasma.enable = false;
myModules.desktop.enable = false;
myModules.plasma.enable = false;
imalison.nixOverlay.enable = false;
modules.wsl.enable = true;
myModules.wsl.enable = true;
networking.hostName = "dean-zephyrus";

View File

@ -5,7 +5,7 @@
];
imalison.nixOverlay.enable = false;
modules.wsl.enable = true;
myModules.wsl.enable = true;
networking.hostName = "jay-lenovo-wsl";

View File

@ -11,6 +11,7 @@
android-studio
linuxPackages_latest.perf
zenmonitor
code-cursor
];
hardware.enableRedistributableFirmware = true;
@ -26,7 +27,7 @@
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
modules.postgres.enable = true;
myModules.postgres.enable = true;
networking.networkmanager.enable = true;

View File

@ -5,23 +5,24 @@
../configuration.nix
];
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
modules.gitea-runner.enable = true;
modules.postgres.enable = true;
myModules.railbird-k3s = {
enable = true;
serverAddr = "https://ryzen-shine.local:6443";
};
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = true;
myModules.extra.enable = false;
myModules.code.enable = true;
myModules.games.enable = false;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
myModules.gitea-runner.enable = true;
myModules.postgres.enable = true;
hardware.enableRedistributableFirmware = true;
# install nvidia drivers in addition to intel one
hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
myModules.nvidia.enable = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
boot.kernelModules = [ "kvm-intel" ];

View File

@ -4,13 +4,25 @@
../configuration.nix
];
services.macos-ventura = {
enable = true;
openFirewall = true;
vncListenAddr = "0.0.0.0";
};
features.full.enable = true;
modules.cache-server = {
myModules.cache-server = {
enable = true;
port = 3090;
};
modules.gitea-runner.enable = true;
modules.vscode.enable = true;
myModules.gitea-runner.enable = true;
myModules.vscode.enable = true;
myModules.kat.enable = true;
myModules.nvidia.enable = true;
myModules.railbird-k3s = {
enable = true;
serverAddr = "https://dev.railbird.ai:6443";
};
networking.hostName = "nixquick";
@ -21,15 +33,6 @@
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
# install nvidia drivers in addition to intel one
hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
hardware.opengl.driSupport32Bit = true;
hardware.nvidia.modesetting.enable = true;
# This also enables v4l2loopback

View File

@ -12,58 +12,36 @@
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
modules.postgres.enable = true;
hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
# Enable OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
services.k3s.role = "agent";
services.k3s.extraFlags = lib.mkForce ["--node-label nixos-nvidia-cdi=enabled"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
features.full.enable = false;
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = false;
modules.gnome.enable = true;
modules.code.enable = true;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.plasma.enable = false;
modules.gitea-runner.enable = true;
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = false;
myModules.code.enable = true;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.plasma.enable = true;
myModules.nvidia.enable = true;
myModules.gitea-runner.enable = true;
myModules.railbird-k3s = {
enable = false;
serverAddr = "https://dev.railbird.ai:6443";
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a317d456-6f84-41ee-a149-8e466e414aae";

View File

@ -6,14 +6,17 @@
];
features.full.enable = true;
myModules.kubelet.enable = false;
myModules.nvidia.enable = true;
# Needed for now because monitors have different refresh rates
modules.xmonad.picom.vSync.enable = false;
modules.cache-server = {
myModules.xmonad.picom.vSync.enable = false;
myModules.cache-server = {
enable = true;
port = 3090;
};
modules.gitea-runner.enable = true;
modules.postgres.enable = true;
myModules.gitea-runner.enable = true;
myModules.postgres.enable = true;
myModules.railbird-k3s.enable = true;
boot.loader.systemd-boot.configurationLimit = 5;

View File

@ -4,7 +4,7 @@
../configuration.nix
];
modules.wsl.enable = true;
myModules.wsl.enable = true;
networking.hostName = "strixi-minaj-wsl";

View File

@ -6,16 +6,17 @@
inputs.nixos-hardware.nixosModules.asus-rog-strix-g834jzr
];
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
modules.gitea-runner.enable = false;
hardware.nvidia.open = false;
myModules.base.enable = true;
myModules.desktop.enable = true;
myModules.xmonad.enable = true;
myModules.extra.enable = false;
myModules.code.enable = true;
myModules.games.enable = false;
myModules.syncthing.enable = true;
myModules.fonts.enable = true;
myModules.nixified-ai.enable = false;
myModules.gitea-runner.enable = false;
hardware.enableRedistributableFirmware = true;

View File

@ -1,5 +1,5 @@
{ inputs, config, specialArgs, ... }:
specialArgs.makeEnable config "modules.nixified-ai" false {
specialArgs.makeEnable config "myModules.nixified-ai" false {
imports = [
inputs.nixified-ai.nixosModules.invokeai
];

18
nixos/nvidia.nix Normal file
View File

@ -0,0 +1,18 @@
{ config, pkgs, makeEnable, ... }:
makeEnable config "myModules.nvidia" false {
environment.systemPackages = with pkgs; [
nvidia-container-toolkit
];
hardware.nvidia-container-toolkit = {
enable = true;
mount-nvidia-executables = true;
};
hardware.nvidia.open = false;
hardware.graphics.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.graphics.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
hardware.graphics.enable32Bit = true;
services.xserver = {
videoDrivers = [ "nvidia" ];
};
}

View File

@ -1,6 +1,6 @@
{ lib, ... }: {
options = {
modules.xmonad.picom.vSync.enable = lib.mkOption {
myModules.xmonad.picom.vSync.enable = lib.mkOption {
default = true;
type = lib.types.bool;
};

View File

@ -17,15 +17,16 @@ final: prev: {
};
});
picom = prev.picom.overrideAttrs (old: {
src = prev.fetchFromGitHub {
repo = "picom";
owner = "dccsillag";
rev = "51b21355696add83f39ccdb8dd82ff5009ba0ae5";
sha256 = "sha256-crCwRJd859DCIC0pEerpDqdX2j8ZrNAzVaSSB3mTPN8==";
};
nativeBuildInputs = old.nativeBuildInputs ++ [final.pcre];
});
# picom = prev.picom.overrideAttrs (old: {
# src = prev.fetchFromGitHub {
# repo = "picom";
# owner = "dccsillag";
# rev = "51b21355696add83f39ccdb8dd82ff5009ba0ae5";
# sha256 = "sha256-crCwRJd859DCIC0pEerpDqdX2j8ZrNAzVaSSB3mTPN8==";
# };
# nativeBuildInputs = old.nativeBuildInputs ++ [final.pcre final.gnugrep.pcre2 final.libpcre];
# buildInputs = old.buildInputs ++ [final.pcre];
# });
expressvpn = prev.expressvpn.overrideAttrs (_: {
src = prev.fetchurl {

View File

@ -1,5 +1,5 @@
{ config, makeEnable, ... }:
makeEnable config "modules.plasma" true {
makeEnable config "myModules.plasma" true {
services.displayManager.sddm.enable = true;
services.xserver = {
desktopManager.plasma5.enable = true;

View File

@ -1,5 +1,5 @@
{ pkgs, config, makeEnable, realUsers, ... }:
makeEnable config "modules.postgres" true {
makeEnable config "myModules.postgres" true {
services.postgresql = {
enable = true;
package = pkgs.postgresql_15;

View File

@ -1,5 +1,5 @@
{ pkgs, config, makeEnable, realUsers, ... }:
makeEnable config "modules.rabbitmq" true {
makeEnable config "myModules.rabbitmq" true {
services.rabbitmq = {
enable = true;
};

View File

@ -0,0 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIELTCCApWgAwIBAgIRALNxOT7J7N/eK6edp9LbKAIwDQYJKoZIhvcNAQELBQAw
LzEtMCsGA1UEAxMkM2I2N2M2NzgtNzI5My00YTIzLTg3ZWItY2NiMTZjYWFkMzFm
MCAXDTIzMTIyOTE5NTQ0MloYDzIwNTMxMjIxMjA1NDQyWjAvMS0wKwYDVQQDEyQz
YjY3YzY3OC03MjkzLTRhMjMtODdlYi1jY2IxNmNhYWQzMWYwggGiMA0GCSqGSIb3
DQEBAQUAA4IBjwAwggGKAoIBgQCUYUuTrpDbwUS2B3SYUoa7LI5mi8NNr0lDe1w4
3yPpVnu6ubvnTNm2j/v88HYwEjlppEg4HjhP7YEJ8gsGdgUCpIaPWTpifVmA7E4o
2DbJDiePkkUGkNL0whCClOOcO0hyxdk9Pol5wRzci0l6zSalE6DB4rJrmB5Ppl/A
t2KAVVqpwbynmbijr4yZh7Bp7LfaIrFthlv2ZPEjLfPLz7YthBw9/iUt94mLMyWZ
BpygA5y/CocQQnnFMnU1o0eUd37YL7zErfIxx/AmL10Sq0qdFXiYOJJqubURbdS8
DZ6dyHdX+UlxPls2Rlx9nDaiNGFJdzqHJzDdOlzN3kkdDQoO8xUdH9ekFU7rOwkP
5NpubSwrd1FOGHh+EknugnEQD4Oip/YQ7IUj3Afm5Ag2la9k4WJRgjACbkQ2+k9I
sFmPmmMVHn9nepCMiYQMjX7ApZw0isDPeVK5EuQeImgu7uNoV8R5VwG0XoBCXz4S
UqYv11uEsMqFu07Zwlznsxnm0uECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgIEMA8G
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI73GznmeECJOdxJAEzmjhYgGVKtMA0G
CSqGSIb3DQEBCwUAA4IBgQAm19zlm3WVePflA6Zh/FxvE8MirrJF6jmJzRrBCEM5
DwkSmY3dvONqCYeeNb4+xWXWQ8eVKVlPdkoW3V7H5xnJ63dXRNN2lQ3JpSTG3+yP
Omp6XGY9mmatdHwyV7N4h10aKEWAuRhy148sdJZLYj0LbR42pCVYhEP4D3Qj7KjN
PJe+cR8NSpiYmDH5y88Jqubztj5NVcDj/iN9h/7/GajbU6lCgN/SxZgi9cNGjxSb
JHFHE2Mp3z9sjsieTXMplLqK045TQ2IBqnJyMdKkvSNkRUCbz2yXdiIOKtvU4ly0
h884z9P5JQ9bxe+6cwYC4ky3G5WYMn++RUsuCk4ScsrbZtM9jpKnz/TygMdVTC5w
Siq6OHKtAnh8Ax1LEKicg9FLd6ODxR3OVKu+fUPV4XHAWJnmvElGlivjneHiE+OL
dzgb/CfBEGHYBVc2PDIhwBmUdoEZ/t3UjvmSI46ZblYpWodJvLFwge2HxSivRlLW
Uh/oPWX5N/CH9I34HTAhI48=
-----END CERTIFICATE-----

View File

@ -1,6 +1,6 @@
{ config, pkgs, inputs, makeEnable, ... }:
makeEnable config "modules.raspberry-pi" false {
makeEnable config "myModules.raspberry-pi" false {
imports = [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
];
@ -12,6 +12,7 @@ makeEnable config "modules.raspberry-pi" false {
# hardware.raspberry-pi."4".audio.enable = true;
boot = {
initrd.systemd.tpm2.enable = false;
initrd.availableKernelModules = [
"usbhid"
"usb_storage"

View File

@ -0,0 +1,51 @@
age-encryption.org/v1
-> ssh-ed25519 ZgrTqA MGp4jtyXCV3QBrIuy/WQthJGxLUnFNgZlf3HNtZtukY
jbskLgoJDhl755Qn4ZdW5nYK7Ug2eLm4oQyazff6Uf4
-> ssh-ed25519 ZaBdSg hjFZhYc4AKvp8585jS4pivMFTxPd0miyQdjJQjQvERQ
4P8PqJ7gz99nuGyAOh73gECCNTa8U56t/byr0h1plLo
-> ssh-ed25519 MHZylw iZq2dXCa4gSDpmbQazU4JPCXnbXjrMx2Nh0FCYACCTM
yVE+tooOjxvD1OBziXHz5yv0k2purR/QouE3SSzinPw
-> ssh-ed25519 sIUg6g ppAmkq3uj/heZ/RhK6BCz3o6d9l6tw+FeoV+GM4jh2M
F+Og7e744NSgaUs9zZ28ttPdbl0xkN82KgqGnfv/9sM
-> ssh-ed25519 TnanwQ GwsA+F4Co/Vxg5I04GxBW6EPPXOT2PtHCdiq6KEFJ0w
vcJiXNxnh32Q00VodKXhvTmiTglxSCiSPLwOFXrQPxU
-> ssh-rsa gwJx0Q
EoF9WbtAgRZyWQPtcwrQTIxXMfNSl6Fpm7DITAwocm04U2aoNEnhvsU/0olrCGpU
ez4CTnTZuOCVe8yr9KYjy9bU/41L2k89P/yk92i0Fm9412tIvYodSx0Qjju4hpPo
ptLAp+5wUgeRarEpnPHQBKnyeR4PcaVAeAYyiFHKjFZIaZ6oBEHbJGd8QO02RwAG
2hnGkVzHhQOxnd6VN4h4xP4BfWXZ8rwTigenVMSwMkrWg0Xx+iXPvGhbLh0P/o5d
VKtISQGzfL9rr2N4VYJHUT6JgQHNy66qd9YKrcY0bRanlMSeR7p217f/sKOc9SIL
h9URYNbaxGhdx9JuQVywIA
-> ssh-ed25519 YFIoHA xsirlZemMNZIOEcc164PM3SO2gJ6DrNM1xU2Phj/TWA
v0cCi2mVuPMpy17w6q1GLgv/5k6wetFFBUzeAw6YGK8
-> ssh-ed25519 KQfiow wVCBy3SI6pY/Q1C5Zqq6//KPHma8PR8Qd5DhwO7+SSY
ODABvuKUzhcuUj/YVwa1tCdgj/WBrhMHpwOmjgMTNDo
-> ssh-ed25519 kScIxg 9qaWKYi08kVEz5HnFluLfHJz0dNl0gqSj+yTBRmX5U8
2NBABg/XbcWq4gZp3vtnLZ4yBAZkPdXckDGnHc0rC1U
-> ssh-ed25519 HzX1zw hMbFcHddfBJ+fU2Ay+J+siEi/rH0kTXTRJS1pFe9rFg
IBPsFZ2vBc/t0L+anbugwX9A8lj8t6AykZzSovxTCxc
-> ssh-ed25519 KQfiow 5mUphYz0qwZi78nxpxrQNWeXdum5o1cVj76sSrDgIlA
KamxIS2NJaI7DTy9SJisGU+KTKTsDx7dXw7TlsSnq9o
-> ssh-ed25519 1o2X0w zwmrw9msofsTJ9qkqaQWs0CWG2ArWXIb3hX/eFlM/2E
L8CTuqIKNU1Ff2vWmIWtvLPmI8MOSlUobTLzQGladMg
-> ssh-ed25519 KQ5iUA 03zopYKa8ki6hqJiiFOoAE0cNEg6uGWk7VF3teDzkws
FxHYVfs2lCDlWspyv+03yjdJHSIIDUq8PTkhyLyomdM
-> ssh-ed25519 AKGkDw BBg9+2iPHediKJ0xd/tVcoofbJvws2QIF2yskvE1OBs
ZM32S8i6ZNG1cPSO3Ojkyy4JYKnJMXv72/RsE1g2o2Y
-> ssh-ed25519 0eS5+A VedHoAI2jnrcY5E+Db6qyoJJnevOJ4NF1YzSGUAP6R4
jO9JaT6BiuiriIpWzc6fpJMDxqu3718KMMcHWFtHq14
-> ssh-ed25519 9/4Prw gcQ7zE+fSceLHLIi26qs348WJH7Jta36N1dPRIp2+2E
69jtpz9PVWh1KJM5fKUy923ddah7PiwvabFsNST19Ag
-> ssh-ed25519 gAk3+Q C30KhWJmYd4D3bCuoD7hOZrehDhjMhTpzB1PmqRqph4
BEpcSaCnz8zLOho7Da7mBtAeLeCJMXbMkyg8CW5OKQI
-> ssh-ed25519 X6eGtQ EP1F3zxhA6pPsFl638bLkYgsBDn1NHH4xbR3U50ZtSA
0h8Oe4zZ68GwzHp07LjUmKA69paiGBQGcakpIi8w+VA
-> ssh-ed25519 0ma8Cw hQ1jQxz3XqtHo3ENzLiX85dmrtD2KpFb+Nx9t95EugM
1oFklRDdtko9lf9GxJbu0IH7uTD7Iae8nLA6KoVLA1g
-> ssh-ed25519 Tp0Z1Q VvWo+U0VBidsCCtQKWfEqcgnjzbi7TlSPdrqaZcAGzA
zRKu1PrurMXm/hQL1DzdgXQLDwebJCtcDzdiceBS00I
-> ssh-ed25519 qQi7yA kOOIJPZqdp7dRRxPLqwDlNv4OXUI+RYXkA5IlI0YP04
HnwjK1XmdwIL478UXhRPVPU5YCJYALnpmryF0Kaz5vA
--- 3MSdvhunDcposjHvMTMOSX6jM4Zj6EndDVgEMMrDpiM
òEÑ“É4š˜à`|[áØ ]BÌs/€£a1o7ðF'<27>xU§<55>¤qšáðpdäid®,£ìp“bB0ØL‰nÃã~Qm|žK\ŽçiM™G>¿ðx9ÿïÒ€Ù9òwQŒÝ=ýl^YÊÐ+E[J¤É<C2A4>y뀧ûåœDàQÃè1k†Ó
4‡ñH« Èh!

Binary file not shown.

View File

@ -0,0 +1,50 @@
age-encryption.org/v1
-> ssh-ed25519 ZgrTqA fUdYNjuALrimf6eo5FoqjGF0Zvzo4HBMW6cr53NO+D4
YPI8i4LK2Iz0C89Cx91kx0z+oLQmzVp7rTI9r7+TJcc
-> ssh-ed25519 ZaBdSg 4INz9+Kf25/qCECW0ylv3oZ0j6ouFJigP+gVSvm97Vc
mmzlvBxYh703ZEzf73FF7ifDjysMEl2GOT5heGEn+Ts
-> ssh-ed25519 MHZylw I/e6YCpLKOmjfmnkhF9qsG1S690YuCuHkHm10SOTSTo
3hnodZC9lVNTsigacqP26JibaaRdModVJCsaiugBNCs
-> ssh-ed25519 sIUg6g VTWz7slnoJSC5bpGw6o5G7n2y439GbjNiZaFMLaN5jI
lIJgwvZSyv422Nqct3LmB65ga66y4WSp0ok9RVN9G0s
-> ssh-ed25519 TnanwQ jnix1dT8u58lNCEmn4mMEn/66XNhYkfOmlQzz9ybpXA
rpJ1RE1aN8ZFvwXdnWMz5WmtIPVYuaoFW+dUxUHSue0
-> ssh-rsa gwJx0Q
d3ys74cy6D+bpqZoaWyzcCHlgY+2sxSR4U41KpLTa1CodYQfhf/QzfhMhNRbKNrg
eoFB4Z9QSIkbqQedkqmR+gjDtklSG/Jz/1QZxkKm3pRulDq0YA+crduA72Xs+ReF
yRfAotYMZ+fJvJBJ4C604XzX2JyDsZ9pMxvzH3ntWLL2ay9wgY8beVekCfyAEgr6
EmFE1xPS5/SvEGz/3x0pxn6qtGXR7JAQYIZw7xVgpLvaY+yGjBGgF97RT8NZKmps
Y+4DpQMVhJpMREpsGa78zN2PNsZoV3uc/rT7GLfhX1NJxjDfQ5whLF4ykrerg4ZB
Mm3HhALUqeGd8trA+dRZiw
-> ssh-ed25519 YFIoHA U7m8uc58dgdk3HS920pXyMUwSustTkyHbomhhYvKxhc
8TRED2gwbj1IeZxFR9EmkTqsVLgl1pLgja7FpRvw8WY
-> ssh-ed25519 KQfiow et6x8B9B0X0hX695r/tfriEoInXXcHUkAiaQhXK6NGo
UkJcdPjs1q//FDy+dGY2uaaGbgw6azVB1/zc5wrdQy8
-> ssh-ed25519 kScIxg 9UbFUlg4SGEY7L8vOummxwHhypcipPtRq/yhw8k6K2g
vfLB37DdDA7nEXlNSkJUXwDwQ5UoDonkiKIhSjG4N24
-> ssh-ed25519 HzX1zw 4LkDXxeqKtYI8EhwXccMRlRw88flevLGFgzwt9nbNWY
EtrL0itCfPvQtrIFWXqnPoje6Cy//KHZ//OwcibLy4s
-> ssh-ed25519 KQfiow VPlZHErfIKR0NOG8/Rqwu7LQKP13izSQVck8s217LkM
v8+OEZZTe+pybXqEtUQ1ILNQ2TbB4QSIkHacMQUkYGg
-> ssh-ed25519 1o2X0w s8Of4YUoOKrBMa2AjcBYFXPEqwmjZEKGpGwf0F5Z9wo
ifK7DqiArFCFIjxMHxLB1vlzZ+H/60H+a4xdmdvkf0I
-> ssh-ed25519 KQ5iUA 1Jn+jIAmcJ1QUbC2Yz6XfVoM4XbS3HHEXJHJvDS3mlE
rsmCtAlqxVzUfJeRT5kmU0FI5cAiCtqA1bpeG0aci+c
-> ssh-ed25519 AKGkDw uB/GYB86+P5I9EtWJjCyrPYJKxlF8KLwjVacnS3FYg0
kAsGXL4c1IDU3rklHnyMpY454DLSCibhEy5U9vfoQxE
-> ssh-ed25519 0eS5+A xe3LGZVaCS6rCrULdfdtHpuwdnib0FizFhseyWjUxBQ
nKmumufCm1WQj1MdfawMWFHztFJhP/7+4h8f7PD4+z8
-> ssh-ed25519 9/4Prw vsOHzuM608TC+t+dqQbMHtZnTcfgGHJq/CfVazWeVFk
I/w6R2t/pmdA+Ktool+1hU21GjjG/hwe0vSq89jtULw
-> ssh-ed25519 gAk3+Q GMi0sxNOfeqbmMuU25wGnZdLx8D7zTYZ5Nx5OLjOaCA
eweAPpjwjHYdySCtWbzwpM9RZ+Ohim/0HQiy2bssIFg
-> ssh-ed25519 X6eGtQ bTbsvZYuHIYj6AUQ8hLvn9OKLhapi3VqU7nUDT2kxRQ
X0Kh45FK79mdXA1AqySw/rC73maypSP5BpKso0BKHeM
-> ssh-ed25519 0ma8Cw miWf5St4zNDpl7ydZPm4NDbhN0Pp5jAP28IdIXfoA38
yH13uHPwUCRyaXqnieNvkDDNkrACPaoIVFQUiVK2ZLk
-> ssh-ed25519 Tp0Z1Q dvgXe3vQqY9le3KaROdzaP4jnjQ8kljfC+D/sSpwjnw
/fwCFlvRRwUZ0ebYXJTdlGRxY6H9elCh5ULsyLve6IM
-> ssh-ed25519 qQi7yA 83iacCsgW3Iw83C753dqBCM6/i8qyKLqJ0AvEIgxsT4
uI6NwcRcJUJMYR7vMhZvlnmdWRV9J4FUm8KbDutuKTo
--- o88XKoHrskw3WGcaj1Ie6UzwfWcfKl76oO8zwk2jcNk
z…ðÆeïYòUêp[ò4ËVëî-þLE%­Â¾Ó<C2BE>BSWõ²Õ½ñ0¼ÿ¯=¢‡-Jt•ÌO<C38C>õšï<C5A1>ç€É9èp_Kd¬

Binary file not shown.

Binary file not shown.

View File

@ -11,6 +11,10 @@ in
"gitea-runner-token.adele.age".publicKeys = keys.agenixKeys;
"gitea-runner-token.railbird-sf.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
"gitea-runner-token.mac-demarco-mini.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
"gitea-runner-token.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
"nextcloud-admin.age".publicKeys = keys.agenixKeys;
"ryzen-shine-kubernetes-token.age".publicKeys = keys.agenixKeys;
"1896Folsom-k3s-token.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
"api_service_account_key.json.age".publicKeys = keys.agenixKeys;
"k3s-registry.yaml.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
}

View File

@ -18,10 +18,11 @@ let
strixi-minaj-wsl = { id = "DOAEFFI-W6EZY3K-GDUHDLX-6DQPVFC-XU3G65X-5KX6RKK-EMF7ZT7-YKKKOAM"; };
strixi-minaj = { id = "IF76WOS-WVYFAQG-ZZMIT3R-ZR6EQQH-YQP3FGZ-BJ3LJKO-56FK2XA-UREADQM"; };
dean-zephyrus = { id = "UVIQVZQ-WFWVUQT-OTXPK7V-RXFKAVV-RY5DV2Z-XZEH3Q2-JQZIQLW-XMSB6AT"; };
bencbox = { id = "FZFDBDG-J56RKLU-JZUHEAB-SAGB6CM-LRR6QFC-ZLNQG22-R2DEXAC-MY4BXQN"; };
};
allDevices = builtins.attrNames devices;
in
makeEnable config "modules.syncthing" true {
makeEnable config "myModules.syncthing" true {
system.activationScripts.syncthingPermissions = {
text = ''
chown -R syncthing:syncthing /var/lib/syncthing

View File

@ -92,12 +92,12 @@ in
railbird = userDefaults // {
inherit extraGroups;
name = "railbird";
openssh.authorizedKeys.keys = inputs.railbird-secrets.keys.railbirdDevKeys;
openssh.authorizedKeys.keys = inputs.railbird-secrets.keys.railbirdFullstackDevKeys;
};
interview = userDefaults // {
inherit extraGroups;
name = "interview";
openssh.authorizedKeys.keys = interviewKeys ++ inputs.railbird-secrets.keys.railbirdDevKeys;
openssh.authorizedKeys.keys = interviewKeys ++ inputs.railbird-secrets.keys.railbirdFullstackDevKeys;
};
};

View File

@ -1,5 +1,5 @@
{ inputs, config, makeEnable, forEachUser, ... }:
makeEnable config "modules.vscode" true {
makeEnable config "myModules.vscode" true {
home-manager.users = forEachUser {
imports = [inputs.vscode-server.homeModules.default];
services.vscode-server.enable = true;

View File

@ -1,13 +1,13 @@
{ config, inputs, pkgs, makeEnable, ... }:
makeEnable config "modules.wsl" false {
makeEnable config "myModules.wsl" false {
imports = [
inputs.nixos-wsl.nixosModules.wsl
];
modules.base.enable = false;
modules.desktop.enable = false;
modules.xmonad.enable = false;
modules.plasma.enable = false;
myModules.base.enable = false;
myModules.desktop.enable = false;
myModules.xmonad.enable = false;
myModules.plasma.enable = false;
# Update timezone automatically
services.tzupdate.enable = true;

View File

@ -1,5 +1,5 @@
{ config, pkgs, inputs, forEachUser, makeEnable, ... }:
makeEnable config "modules.xmonad" true {
makeEnable config "myModules.xmonad" true {
nixpkgs.overlays = with inputs; [
xmonad.overlay
xmonad-contrib.overlay
@ -25,7 +25,7 @@ makeEnable config "modules.xmonad" true {
# Haskell Desktop
haskellPackages.xmonad
haskellPackages.imalison-xmonad
haskellPackages.notifications-tray-icon
# haskellPackages.notifications-tray-icon
haskellPackages.gtk-sni-tray
haskellPackages.status-notifier-item
haskellPackages.dbus-hslogger
@ -80,7 +80,7 @@ makeEnable config "modules.xmonad" true {
services.picom = {
enable = true;
vSync = config.modules.xmonad.picom.vSync.enable;
vSync = config.myModules.xmonad.picom.vSync.enable;
backend = "glx";
extraArgs = ["--experimental-backends"];
@ -137,21 +137,21 @@ makeEnable config "modules.xmonad" true {
};
};
systemd.user.services.notifications-tray-icon = {
Unit = {
Description = "Notifications tray icon";
After = [ "graphical-session-pre.target" "tray.target" ];
PartOf = [ "graphical-session.target" ];
};
# systemd.user.services.notifications-tray-icon = {
# Unit = {
# Description = "Notifications tray icon";
# After = [ "graphical-session-pre.target" "tray.target" ];
# PartOf = [ "graphical-session.target" ];
# };
Install = { WantedBy = [ "graphical-session.target" ]; };
# Install = { WantedBy = [ "graphical-session.target" ]; };
Service = {
ExecStart = "${pkgs.haskellPackages.notifications-tray-icon}/bin/notifications-tray-icon --github-token-pass dfinity-github-api-token";
Restart = "always";
RestartSec = 3;
};
};
# Service = {
# ExecStart = "${pkgs.haskellPackages.notifications-tray-icon}/bin/notifications-tray-icon --github-token-pass dfinity-github-api-token";
# Restart = "always";
# RestartSec = 3;
# };
# };
systemd.user.services.shutter = {
Unit = {