Compare commits

..

11 Commits

Author SHA1 Message Date
4317b1fb3d Actions runner working 2024-08-18 12:22:08 -06:00
12f673d13d Actions runner runs as kat 2024-08-15 03:49:52 -06:00
b863346787 Put gitea actions runner in its own user 2024-08-15 03:20:09 -06:00
69b2eeebaf Gitea runner working 2024-08-15 03:15:58 -06:00
bbb1c76500 [nix-darwin] Updates 2024-08-13 21:32:27 -06:00
a931c1be6a [NixOS] Add mac mini key 2024-08-13 20:39:06 -06:00
96b727241e [Darwin-nix] Add cocoapods 2024-08-05 15:44:10 -06:00
7d674ebb74 Add nix-darwin justfile 2024-08-04 22:05:37 -06:00
Kat
545e5a1608 Add nix-darwin 2024-08-04 20:13:26 -06:00
Kat
e13d516b05 [Emacs] Add swift-mode 2024-08-04 20:13:26 -06:00
d96e3eb02e Delete travis 2024-06-29 12:55:13 -06:00
29 changed files with 480 additions and 243 deletions

@ -1 +1 @@
Subproject commit a82a8a0cffb34b5eae38e46d88f02641bf8a8fe5
Subproject commit 9c8540a56432db6555755a9a649b4874833520ed

View File

@ -1514,25 +1514,20 @@ https://github.com/alpaker/Fill-Column-Indicator/issues/21 for more details
(advice-add 'company-call-frontends :before #'fci-on-off-fci-before-company)
(add-hook 'prog-mode-hook 'fci-mode)))
#+END_SRC
** indent-bars
#+begin_src emacs-lisp
(use-package indent-bars
:straight (indent-bars :type git :host github :repo "jdtsmith/indent-bars")
** highlight-indent-guides
If the load-theme hook from this package starts causing trouble check for
custom-set-faces in your custom file.
#+BEGIN_SRC emacs-lisp
(use-package highlight-indent-guides
:commands highlight-indent-guides-mode
:diminish highlight-indent-guides-mode
:preface
(progn
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode))
:config
(require 'indent-bars-ts) ; not needed with straight
:custom
(indent-bars-treesit-support t)
(indent-bars-treesit-ignore-blank-lines-types '("module"))
;; Add other languages as needed
(indent-bars-treesit-scope '((python function_definition class_definition for_statement
if_statement with_statement while_statement)))
;; wrap may not be needed if no-descend-list is enough
;; (indent-bars-treesit-wrap '((python argument_list parameters ; for python, as an example
;; list list_comprehension
;; dictionary dictionary_comprehension
;; parenthesized_expression subscript)))
:hook ((prog-mode) . indent-bars-mode))
#+end_src
(progn
(setq highlight-indent-guides-method 'fill)))
#+END_SRC
** man-mode
Man page escape sequences aren't properly handled by emacs pager. This function
fixes that, but for now, it needs to be run manually, since I haven't figured
@ -1790,8 +1785,7 @@ bind-key and global-set-key forms.
(defun imalison:do-rg-default-directory (&rest args)
(interactive)
(let ((consult-ripgrep-args (concat consult-ripgrep-args " --no-ignore" " --hidden")))
(apply 'consult-ripgrep default-directory args)))
(apply 'consult-ripgrep default-directory args))
(emit-prefix-selector imalison:do-rg
consult-ripgrep
@ -2322,13 +2316,6 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
(unbind-key "C-j" python-mode-map)
(add-hook 'python-mode-hook #'imalison:python-mode)))
#+END_SRC
*** ruby
#+begin_src emacs-lisp
(use-package ruby-mode
:config
(setf (alist-get 'ruby-ts-mode apheleia-mode-alist)
'(rubocop)))
#+end_src
*** go
#+BEGIN_SRC emacs-lisp
(use-package go-mode
@ -3369,8 +3356,7 @@ emr (emacs refactor) provides support for refactoring in many programming langua
(file-name-directory
(file-truename (imalison:join-paths eat--install-path "eat.el"))))
(eat-compile-terminfo)
(setq eat-term-shell-integration-directory
(imalison:join-paths eat--install-path "integration"))))
(setq eat-term-shell-integration-directory (imalison:join-paths eat--install-path "integration"))))
#+end_src
** term
The main thing I do here is restore a bunch of keybindings that are eliminated
@ -3654,6 +3640,15 @@ I had to disable this mode because something that it does messes with coding set
(progn
(setq dtrt-indent-active-mode-line-info " [⟼]")))
#+END_SRC
** indent-guide
#+BEGIN_SRC emacs-lisp
(use-package indent-guide
:disabled t
:config
(progn
(indent-guide-global-mode -1)
(setq indent-guide-delay 0.1)))
#+END_SRC
** rainbow-delimiters
#+BEGIN_SRC emacs-lisp
(use-package rainbow-delimiters

View File

@ -24,6 +24,7 @@ pom.xml
TAGS
# Vim
*.sw*
*.tmp*
# JavaScript

20
dotfiles/gtkrc-2.0 Normal file
View File

@ -0,0 +1,20 @@
binding "gtk-emacs-text-entry"
{
bind "<alt>BackSpace" { "delete-from-cursor" (word-ends, -1) }
}
gtk-theme-name="Paper"
gtk-icon-theme-name="Paper"
gtk-font-name="Roboto 11"
gtk-cursor-theme-name="Paper"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"

View File

@ -2,25 +2,18 @@
import argparse
import os
import sys
import logging
logger = logging.getLogger(__name__)
class BrightnessManager(object):
@classmethod
def find_brightness(cls):
items_in_backlight_directory = os.listdir("/sys/class/backlight")
if len(items_in_backlight_directory) > 1:
logger.warning(f"More than one entry in the backlight directory {items_in_backlight_directory}")
return cls.from_path(
os.path.join("/sys/class/backlight", items_in_backlight_directory[0])
os.path.join("/sys/class/backlight", os.listdir("/sys/class/backlight")[0])
)
@classmethod
def from_path(cls, path):
logger.warning(f"Using path {path}")
return cls(
set_brightness_filepath=os.path.join(path, "brightness"),
actual_brightness_filepath=os.path.join(path, "actual_brightness"),
@ -78,11 +71,6 @@ def build_parser():
if __name__ == '__main__':
args = build_parser().parse_args()
symlink_path = os.readlink("/home/imalison/.config/brightness_manager/symlink")
if os.path.exists(symlink_path):
manager = BrightnessManager.from_path(symlink_path)
else:
manager = BrightnessManager.find_brightness()
manager.increment_by_proportion(float(args.change) / 100)
BrightnessManager.find_brightness().increment_by_proportion(float(args.change) / 100)
if args.do_print:
print(int(manager.current_proportion * 100))
print(int(IntelBrightnessManager.current_proportion * 100))

View File

@ -1,7 +0,0 @@
#!/usr/bin/env sh
function nr {
sk --ansi -i -c 'nix-search "{}"' | get_cols 1
}
nr "$@"

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,75 @@
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
networking.hostName = "mac-demarco-mini";
imports = [ (import ./gitea-actions-runner.nix) ];
services.gitea-actions-runner = {
user = "gitearunner";
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
git-lfs
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";
};
nixpkgs.overlays = [(import ../nixos/overlay.nix)];
environment.systemPackages = with pkgs; [
python-with-my-packages
emacs
alejandra
cocoapods
gitFull
ripgrep
yarn
nodePackages.prettier
vim
just
tmux
htop
nodePackages.prettier
nodejs
ripgrep
slack
typescript
vim
yarn
];
nixpkgs.config.allowUnfree = true;
@ -48,26 +102,62 @@
# 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;
};
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,174 @@
{ 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 = [
"${pkgs.writeShellScript "gitea-runner-start-${name}" ''
echo "home is $HOME"
mkdir -p /var/log/gitea-runner/
chown -R ${cfg.user} /var/log/gitea-runner
chmod 755 /var/log/gitea-runner
mkdir -p /var/lib/gitea-runner/${name}
chown -R ${cfg.user} /var/lib/gitea-runner
chmod 755 /var/lib/gitea-runner
sudo su - ${cfg.user}
echo "STARTING"
# Register the runner if not already registered
if [ ! -e "$HOME/.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
exec ${cfg.package}/bin/act_runner daemon --config ${settingsFormat.generate "config.yaml" instance.settings}
''}"
];
KeepAlive = true;
RunAtLoad = true;
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";
} // optionalAttrs (instance.token != null) {
TOKEN = instance.token;
};
} // optionalAttrs (instance.tokenFile != null) {
EnvironmentVariables.__TokenFile = instance.tokenFile;
};
}
) cfg.instances;
system.activationScripts.gitea-runner-setup = {
text = ''
mkdir -p /var/log/gitea-runner/
mkdir -p /var/lib/gitea-runner/${name}
chown -R ${cfg.user} /var/log/gitea-runner
chmod 755 /var/log/gitea-runner
chown -R ${cfg.user} /var/lib/gitea-runner
chmod 755 /var/lib/gitea-runner
'';
};
};
}

View File

@ -36,6 +36,7 @@ makeEnable config "modules.base" true {
};
# Audio
sound.enable = true;
hardware.pulseaudio.enable = true;
# Bluetooth

View File

@ -21,7 +21,6 @@
./internet-computer.nix
./kat.nix
./keybase.nix
./kubernetes.nix
./nix.nix
./nixified.ai.nix
./options.nix

View File

@ -34,7 +34,7 @@ makeEnable config "modules.desktop" true {
environment.systemPackages = with pkgs; [
# Appearance
adwaita-icon-theme
gnome.adwaita-icon-theme
hicolor-icon-theme
libsForQt5.breeze-gtk
# materia-theme
@ -60,8 +60,8 @@ makeEnable config "modules.desktop" true {
feh
firefox
cheese
gpaste
gnome.cheese
gnome.gpaste
kleopatra
libnotify
libreoffice
@ -82,7 +82,7 @@ makeEnable config "modules.desktop" true {
simplescreenrecorder
skippy-xd
synergy
transmission_3-gtk
transmission-gtk
vlc
volnoti
xfce.thunar

View File

@ -34,10 +34,6 @@ with lib;
eval "$(register-python-argcomplete prod-prb)"
eval "$(register-python-argcomplete railbird)"
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
# Enable bracketed paste
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
'';
};

View File

@ -5,7 +5,6 @@
environment.systemPackages = with pkgs; [
automake
bazel
bento4
bind
binutils
cachix
@ -17,12 +16,13 @@
emacs
fd
ffmpeg
bento4
file
gawk
gcc
gdb
git-fame
git-lfs
git-fame
git-sync
gitFull
glxinfo
@ -42,7 +42,6 @@
neofetch
neovim
nix-index
nix-search-cli
pass
patchelf
pciutils
@ -52,9 +51,8 @@
rcm
ripgrep
silver-searcher
skim
sshfs
sysz
sshfs
tmux
tzupdate
udiskie

View File

@ -8,11 +8,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1723293904,
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
"lastModified": 1715290355,
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
"owner": "ryantm",
"repo": "agenix",
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
"type": "github"
},
"original": {
@ -93,11 +93,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
@ -162,11 +162,11 @@
]
},
"locked": {
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
@ -238,6 +238,21 @@
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_2"
},
@ -255,7 +270,7 @@
"type": "github"
}
},
"flake-utils_3": {
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
},
@ -273,7 +288,7 @@
"type": "github"
}
},
"flake-utils_4": {
"flake-utils_5": {
"inputs": {
"systems": "systems_5"
},
@ -291,7 +306,7 @@
"type": "github"
}
},
"flake-utils_5": {
"flake-utils_6": {
"inputs": {
"systems": "systems_7"
},
@ -309,7 +324,7 @@
"type": "github"
}
},
"flake-utils_6": {
"flake-utils_7": {
"inputs": {
"systems": "systems_8"
},
@ -375,37 +390,6 @@
"url": "https://hackage.haskell.org/package/fourmolu-0.12.0.0/fourmolu-0.12.0.0.tar.gz"
}
},
"git-hooks-nix": {
"inputs": {
"flake-compat": [
"nix"
],
"gitignore": [
"nix"
],
"nixpkgs": [
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1721042469,
"narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-ignore-nix": {
"inputs": {
"nixpkgs": [
@ -582,7 +566,7 @@
"haskell-language-server": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"fourmolu-011": "fourmolu-011",
"fourmolu-012": "fourmolu-012",
"gitignore": "gitignore",
@ -617,7 +601,7 @@
"haskell-language-server_2": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_6",
"fourmolu-011": "fourmolu-011_2",
"fourmolu-012": "fourmolu-012_2",
"gitignore": "gitignore_2",
@ -781,11 +765,11 @@
]
},
"locked": {
"lastModified": 1723399884,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"lastModified": 1715380449,
"narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"rev": "d7682620185f213df384c363288093b486b2883f",
"type": "github"
},
"original": {
@ -862,16 +846,15 @@
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1715853528,
"narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=",
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"ref": "v1.8.1",
"repo": "libgit2",
"type": "github"
}
@ -952,18 +935,17 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_2",
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression"
"nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1723343056,
"narHash": "sha256-ixvBNplVIqUqvshVi5azgPiGIFXlXDmahDcoP/guuTE=",
"lastModified": 1715361977,
"narHash": "sha256-j/PLYYGs+Gjge4JGYxMjOhWQEp+GB4Fdicetbpmp6n0=",
"owner": "NixOS",
"repo": "nix",
"rev": "18485d2d53622c6ec7beab80c77efbd49ed682e2",
"rev": "87ab3c0ea4e6f85e7b902050365bb75cf2836fbb",
"type": "github"
},
"original": {
@ -995,16 +977,15 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1719989395,
"narHash": "sha256-AppMOCCJ6LYteg4mvlf0xQV+cc9a4iehRWxTOHewouA=",
"lastModified": 1707802617,
"narHash": "sha256-29HCocTg8aPr6gaY6VHNxJQpZQJ6GAqjFsKPqNFj5qo=",
"owner": "colonelpanic8",
"repo": "nixos-hardware",
"rev": "a91e03ef13614285d5d476fbf2f096ce65de0a71",
"rev": "cb96be8513e2959110c7f90ae5d61ca5aff35862",
"type": "github"
},
"original": {
"owner": "colonelpanic8",
"ref": "add-g834jzr",
"repo": "nixos-hardware",
"type": "github"
}
@ -1012,15 +993,15 @@
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1723124175,
"narHash": "sha256-w+rlZdbj4kn70uPJl4WrPDFoGEy0A9oJqw684nvZ9dY=",
"lastModified": 1715237610,
"narHash": "sha256-/ZeWQ4mL3DfHsbTZYc80qMrL4vBfENP0RiGv2KrCrEo=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690",
"rev": "61fe33f4194bbbc48c090a2e79f4eb61b47c9b75",
"type": "github"
},
"original": {
@ -1045,22 +1026,6 @@
"type": "github"
}
},
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
@ -1079,11 +1044,11 @@
},
"nixpkgs-regression_2": {
"locked": {
"lastModified": 1723405223,
"narHash": "sha256-VSHY8GQ64AseobyeoVkJl+ZDaWPGzKs+CG6RfDM159o=",
"lastModified": 1715484633,
"narHash": "sha256-Es5etYksi9VsAZSBKZe4rdyi9L000MEx9lFb3TF6Eo8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "938253e0f8d5c98c4515a10cc388239cc1431db8",
"rev": "25e9a6d07dd142bafd94603208a59c107e8f2905",
"type": "github"
},
"original": {
@ -1094,16 +1059,16 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1721548954,
"narHash": "sha256-7cCC8+Tdq1+3OPyc3+gVo9dzUNkNIQfwSDJ2HSi2u3o=",
"lastModified": 1709083642,
"narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "63d37ccd2d178d54e7fb691d7ec76000740ea24a",
"rev": "b550fe4b4776908ac2a861124307045f8e717c8e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"ref": "release-23.11",
"repo": "nixpkgs",
"type": "github"
}
@ -1126,27 +1091,27 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1722087241,
"narHash": "sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU=",
"lastModified": 1714782413,
"narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c50662509100d53229d4be607f1a3a31157fa12",
"rev": "651b4702e27a388f0f18e1b970534162dec09aff",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1723175592,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github"
},
"original": {
@ -1293,18 +1258,50 @@
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"nix"
],
"flake-utils": "flake-utils_2",
"gitignore": [
"nix"
],
"nixpkgs": [
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712897695,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"railbird-secrets": {
"inputs": {
"agenix": "agenix_2",
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1722639965,
"narHash": "sha256-ZRe5Z5s/UNaXI2piyncQ3YrFl5q3GryZAfFTyeJ/vhM=",
"lastModified": 1718069159,
"narHash": "sha256-L66mczMl8BPLwZrTVKrXMZRyxHiPvA3CHywbsQyFHW0=",
"ref": "refs/heads/master",
"rev": "9a92b83c3ad376620db3556c33e51a4300c5badd",
"revCount": 73,
"rev": "609f1d32fd1112068d97df0f7d4de82cec878002",
"revCount": 52,
"type": "git",
"url": "ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git"
},
@ -1593,11 +1590,11 @@
},
"unstable": {
"locked": {
"lastModified": 1723175592,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github"
},
"original": {
@ -1609,7 +1606,7 @@
},
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_6",
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_9"
},
"locked": {
@ -1640,11 +1637,11 @@
"unstable": "unstable"
},
"locked": {
"lastModified": 1722277235,
"narHash": "sha256-fuEgR51OPzwff+ygFhBqJm51oA17rR0KtPfuDLv0Fp0=",
"lastModified": 1714229485,
"narHash": "sha256-AOy87dJL0T9wSe1kM0tTzFlV++JwmoGW4BfBXzIUbsI=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "a58ccac7ba46414915de6c7f2b4da08b37784016",
"rev": "cde1a25bca9b7aeeb24af73588221f5f54ae770b",
"type": "github"
},
"original": {

View File

@ -3,7 +3,7 @@
railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
};
nixos-hardware = { url = "github:colonelpanic8/nixos-hardware/add-g834jzr"; };
nixos-hardware = { url = "github:colonelpanic8/nixos-hardware"; };
nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable";

View File

@ -13,7 +13,6 @@ makeEnable config "modules.gitea" false {
SSH_PORT = 1123;
HTTP_PORT = 3001;
ROOT_URL = "https://dev.railbird.ai";
DISABLE_REGISTRATION = true;
};
settings.actions = {
ENABLED = true;

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, specialArgs, ... }:
{
xsession = {
enable = true;

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"
@ -55,7 +56,4 @@ rec {
benKeys = [
"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"
];
}

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

@ -85,16 +85,6 @@ in
'';
};
};
"docs.railbird.ai" = {
enableACME = true;
forceSSL = true;
root = "/var/lib/syncthing/railbird/docs";
locations."/" = {
extraConfig = ''
autoindex on;
'';
};
};
};
};

View File

@ -45,15 +45,15 @@
boot.initrd.kernelModules = [ "dm-snapshot" ];
# install nvidia drivers in addition to intel one
hardware.graphics.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.graphics.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
hardware.nvidia.modesetting.enable = true;
hardware.graphics.enable32Bit = true;
hardware.opengl.driSupport32Bit = true;
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];

View File

@ -3,7 +3,6 @@
{
imports = [
../configuration.nix
inputs.nixos-hardware.nixosModules.asus-rog-strix-g834jzr
];
modules.base.enable = true;
@ -24,15 +23,21 @@
];
services.xserver.dpi = 96;
boot.kernelPackages = pkgs.linuxPackages_testing;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
hardware.graphics = {
enable = true;
enable32Bit = true;
services.xserver = {
videoDrivers = [ "nvidia" ];
};
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production;
hardware.nvidia.modesetting.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

View File

@ -18,7 +18,6 @@
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
nix = rec {
extraOptions = ''

View File

@ -10,7 +10,5 @@ in
"gitea-runner-token.jimi-hendnix.age".publicKeys = keys.agenixKeys;
"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;
"nextcloud-admin.age".publicKeys = keys.agenixKeys;
"ryzen-shine-kubernetes-token.age".publicKeys = keys.agenixKeys;
}

View File

@ -17,7 +17,6 @@ let
mixos = { id = "7DMMUDT-CO33EMS-LQW65MX-3BVYDBT-ZZWDJC6-SWEF6SW-ICUMWOE-ZC4IBQK"; };
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"; };
};
allDevices = builtins.attrNames devices;
in

View File

@ -94,11 +94,6 @@ in
name = "railbird";
openssh.authorizedKeys.keys = inputs.railbird-secrets.keys.railbirdDevKeys;
};
interview = userDefaults // {
inherit extraGroups;
name = "interview";
openssh.authorizedKeys.keys = interviewKeys ++ inputs.railbird-secrets.keys.railbirdDevKeys;
};
};
nix.sshServe = {