(auxin) recreate repo from local copy
This commit is contained in:
parent
8b030d7807
commit
50a8b6aa5d
5 changed files with 371 additions and 181 deletions
|
@ -31,7 +31,11 @@ let
|
|||
3300 # Ceph monitors
|
||||
6789 # Ceph monitors
|
||||
6800 # Ceph OSD
|
||||
];
|
||||
6801 # Ceph OSD
|
||||
6802 # Ceph OSD
|
||||
6803 # Ceph OSD
|
||||
6804 # Ceph OSD
|
||||
];#// lib.lists.range 6800 7568 ;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
@ -46,6 +50,10 @@ in
|
|||
};
|
||||
|
||||
networking = {
|
||||
interfaces.enp5s0f0u2c2.ipv4.addresses = [{
|
||||
address = "192.168.2.153";
|
||||
prefixLength = 24;
|
||||
}];
|
||||
# hostName = "auxin"; # Define your hostname.
|
||||
nameservers = [ "192.168.1.1" ];
|
||||
firewall = {
|
||||
|
@ -63,6 +71,7 @@ in
|
|||
czkawka
|
||||
gcc
|
||||
go
|
||||
ceph
|
||||
hyperfine
|
||||
sof-firmware
|
||||
jellyfin-media-player
|
||||
|
@ -72,7 +81,6 @@ in
|
|||
nil
|
||||
dig
|
||||
nmap
|
||||
seaweedfs
|
||||
nodePackages.nodejs
|
||||
nodePackages.pnpm
|
||||
];
|
||||
|
@ -81,7 +89,7 @@ in
|
|||
groups.ceph = { };
|
||||
users = {
|
||||
# mesh = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; };
|
||||
ceph = { isNormalUser = true; extraGroups = [ "wheel" "ceph" ]; };
|
||||
# ceph = { isNormalUser = true; extraGroups = [ "wheel" "ceph" ]; };
|
||||
dockremap = {
|
||||
isSystemUser = true;
|
||||
uid = 100000;
|
||||
|
@ -102,6 +110,7 @@ in
|
|||
};
|
||||
};
|
||||
programs = {
|
||||
virt-manager.enable = true;
|
||||
fuse.userAllowOther = true;
|
||||
steam = {
|
||||
gamescopeSession.enable = true;
|
||||
|
@ -137,6 +146,11 @@ in
|
|||
};
|
||||
|
||||
services = {
|
||||
openiscsi = {
|
||||
enable = true;
|
||||
name = "iqn.2024-12.com.argentumcation:auxin";
|
||||
discoverPortal = "192.168.1.146";
|
||||
};
|
||||
# ceph = {
|
||||
# global.fsid = "7c57bbc5-fdbf-4023-bc45-2e708ebc8e3e";
|
||||
# osd = {
|
||||
|
@ -188,7 +202,7 @@ in
|
|||
xserver = {
|
||||
enable = true;
|
||||
|
||||
desktopManager.xfce.enable = false;
|
||||
desktopManager.xfce.enable = true;
|
||||
|
||||
# Kodi
|
||||
desktopManager.kodi = {
|
||||
|
@ -211,16 +225,21 @@ in
|
|||
inputstream-adaptive
|
||||
]);
|
||||
};
|
||||
};
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
Autologin = {
|
||||
Session = "kodi.desktop";
|
||||
User = "mira";
|
||||
};
|
||||
displayManager = {
|
||||
autoLogin.enable = true;
|
||||
autoLogin.user = "mira";
|
||||
lightdm.greeter.enable = false;
|
||||
};
|
||||
};
|
||||
# displayManager.sddm = {
|
||||
# enable = false;
|
||||
# settings = {
|
||||
# Autologin = {
|
||||
# Session = "kodi.desktop";
|
||||
# User = "mira";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
btrbk = { }; # TODO:
|
||||
caddy = { }; # TODO:
|
||||
ceph = { }; # TODO:
|
||||
|
@ -241,6 +260,16 @@ in
|
|||
samba = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
"min protocol" = "SMB2";
|
||||
"max protocol" = "SMB3";
|
||||
"client min protocol" = "SMB2";
|
||||
"client max protocol" = "SMB3";
|
||||
"client ipc min protocol" = "SMB2";
|
||||
"client ipc max protocol" = "SMB3";
|
||||
"server min protocol" = "SMB2";
|
||||
"server max protocol" = "SMB3";
|
||||
};
|
||||
public = {
|
||||
path = "/";
|
||||
browseable = "yes";
|
||||
|
@ -268,9 +297,11 @@ in
|
|||
enableOnBoot = true;
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
extraOptions = "--userns-remap=default";
|
||||
# TODO: you're gonna need to disable this eventually
|
||||
# extraOptions = "--userns-remap=default";
|
||||
liveRestore = false; # NOTE: Incompatible with swarm
|
||||
};
|
||||
virtualisation.libvirtd.enable = true;
|
||||
|
||||
# TODO:
|
||||
powerManagement.enable = lib.mkForce
|
||||
|
@ -288,6 +319,19 @@ in
|
|||
};
|
||||
};
|
||||
services = {
|
||||
"iscsi-login" = {
|
||||
description = "Login to iSCSI target iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9";
|
||||
after = [ "network.target" "iscsid.service" ];
|
||||
wants = [ "iscsid.service" ];
|
||||
serviceConfig = {
|
||||
ExecStartPre = "${pkgs.openiscsi}/bin/iscsiadm -m discovery -t sendtargets -p 192.168.2.146";
|
||||
ExecStart = "${pkgs.openiscsi}/bin/iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9 -p 192.168.2.146 --login";
|
||||
ExecStop = "${pkgs.openiscsi}/bin/iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9 -p 192.168.2.146 --logout";
|
||||
Restart = "on-failure";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
"qbittorrent-healthcheck" = {
|
||||
script = ''
|
||||
${pkgs.docker}/bin/docker exec qbittorrent ping -c 1 -w 5 -I protonwire0 8.8.8.8 || ${pkgs.docker}/bin/docker restart qbittorrent
|
||||
|
@ -304,6 +348,7 @@ in
|
|||
};
|
||||
wantedBy = [ "graphical.target" ];
|
||||
};
|
||||
# TODO: switch to ntfy?
|
||||
sshdAlert = {
|
||||
enable = true;
|
||||
unitConfig = {
|
||||
|
@ -317,75 +362,9 @@ in
|
|||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
ceph-mon = {
|
||||
enable = true;
|
||||
description = "Ceph cluster monitor daemon";
|
||||
unitConfig = {
|
||||
partOf = "ceph-mon.target";
|
||||
# # According to:
|
||||
# # http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
|
||||
# # these can be removed once ceph-mon will dynamically change network
|
||||
# # configuration.
|
||||
after = [ "network-online.target" "local-fs.target" "time-sync.target" ];
|
||||
before = [ "remote-fs-pre.target" "ceph-mon.target" ];
|
||||
wants = [ "network-online.target" "local-fs.target" "time-sync.target" "remote-fs-pre.target" "ceph-mon.target" ];
|
||||
};
|
||||
serviceConfig = {
|
||||
# Environment=CLUSTER=ceph
|
||||
# EnvironmentFile=-/etc/default/ceph
|
||||
# ExecReload=/bin/kill -HUP $MAINPID
|
||||
ExecStart="/run/current/system/sw/bin/ceph-mon -f --cluster ceph --id auxin --setuser ceph --setgroup ceph";
|
||||
# LimitNOFILE=1048576
|
||||
# LimitNPROC=1048576
|
||||
# LockPersonality=true
|
||||
# MemoryDenyWriteExecute=true
|
||||
# # Need NewPrivileges via `sudo smartctl`
|
||||
NoNewPrivileges = false;
|
||||
# # We need access to block devices to check the health of the disk backing the
|
||||
# # monitor DB store. It can be set to `true` if you're not interested in that
|
||||
# # feature.
|
||||
PrivateDevices=false;
|
||||
# PrivateTmp=true
|
||||
# ProtectControlGroups=true
|
||||
# ProtectHome=true
|
||||
# ProtectHostname=true
|
||||
# ProtectKernelLogs=true
|
||||
# ProtectKernelModules=true
|
||||
# ProtectKernelTunables=true
|
||||
# ProtectSystem=full
|
||||
# Restart=on-failure
|
||||
# RestartSec=10
|
||||
# RestrictSUIDSGID=true
|
||||
# StartLimitBurst=5
|
||||
# StartLimitInterval=30min
|
||||
# TasksMax=infinity
|
||||
};
|
||||
wantedBy = [ "ceph-mon.target" ];
|
||||
};
|
||||
# ceph-mesh = {
|
||||
# enable = true;
|
||||
# description = "Ceph OSD Bindings";
|
||||
# unitConfig = {
|
||||
# After = "local-fs.target";
|
||||
# Wants = "local-fs.target";
|
||||
# };
|
||||
# serviceConfig = {
|
||||
# Type = "oneshot";
|
||||
# KillMode = "none";
|
||||
# Environment = "CEPH_VOLUME_TIMEOUT=10000 PATH=$PATH:/run/current-system/sw/bin/";
|
||||
# ExecStart = "/bin/sh -c 'timeout $CEPH_VOLUME_TIMEOUT /run/current-system/sw/bin/ceph-volume lvm activate --all --no-systemd'";
|
||||
# TimeoutSec = 0;
|
||||
# };
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# };
|
||||
|
||||
};
|
||||
};
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
system = {
|
||||
# copySystemConfiguration = true; # NOTE: Doesn't work with flakes
|
||||
|
||||
stateVersion = "23.11"; # NOTE: Don't fuck with this
|
||||
};
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "uas" "usbcore"];
|
||||
initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "uas" "usbcore" ];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelModules = [ "kvm-amd" "iscsi_tcp" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
fileSystems."/" = {
|
||||
|
@ -28,6 +28,16 @@
|
|||
options = [ "subvol=@nixos" "noatime" ];
|
||||
};
|
||||
|
||||
# fileSystems."/ceph/30_media" = {
|
||||
# device = "none";
|
||||
# fsType = "fuse.ceph";
|
||||
# options = ["ceph.name=client.admin" "ceph.client_mds_namespace=media" "_netdev" "defaults"];
|
||||
# };
|
||||
# fileSystems."/ceph/10_roms" = {
|
||||
# device = "none";
|
||||
# fsType = "fuse.ceph";
|
||||
# options = ["ceph.name=client.admin" "ceph.client_mds_namespace=roms" "_netdev" "defaults"];
|
||||
# };
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-label/SYSTEM";
|
||||
fsType = "btrfs";
|
||||
|
@ -50,27 +60,39 @@
|
|||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/raid" = {
|
||||
device = "/dev/sdb1";
|
||||
fileSystems."/ceph" = {
|
||||
device = "/dev/disk/by-label/MEDIA";
|
||||
fsType = "btrfs";
|
||||
options = [ "noatime" "space_cache=v2" "compress=zstd" ];
|
||||
options = [ "noatime" "ro" "degraded" "space_cache=v2" "compress=zstd" "_netdev"];
|
||||
};
|
||||
|
||||
systemd.services."seaweedfs-mount" = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
requires = [ "seaweedfs-default-filer-main.service" ];
|
||||
serviceConfig = {
|
||||
ExecStartPre = [
|
||||
"${pkgs.coreutils}/bin/mkdir -m 0775 -pv /weed"
|
||||
"${pkgs.e2fsprogs}/bin/chattr +i /weed" # Stop files being accidentally written to unmounted directory
|
||||
];
|
||||
ExecStart = "${pkgs.seaweedfs}/bin/weed mount -filer=localhost:4208 -dir=/weed -filer.path=/";
|
||||
ExecStopPost = "-${pkgs.fuse}/bin/fusermount -u /weed";
|
||||
KillMode = "process";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
fileSystems."/raid" = {
|
||||
device = "/dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32DC0RL571";
|
||||
fsType = "btrfs";
|
||||
options = [ "noatime" "space_cache=v2" "compress=zstd" "_netdev" ];
|
||||
};
|
||||
# fileSystems."/raid" = {
|
||||
# device = "overlay";
|
||||
# fsType = "overlay";
|
||||
# options = ["lowerdir=/ceph" "upperdir=/mnt/upperdir" "workdir=/mnt/workdir"];
|
||||
# };
|
||||
# fileSystems."/ceph/10_roms" = {
|
||||
# device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.roms=/";
|
||||
# fsType = "ceph";
|
||||
# options = [ "_netdev" ];
|
||||
# };
|
||||
#
|
||||
# fileSystems."/ceph/30_media" = {
|
||||
# device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.media=/";
|
||||
# fsType = "ceph";
|
||||
# options = [ "_netdev" ];
|
||||
# };
|
||||
# fileSystems."/ceph/services" = {
|
||||
# device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.services=/";
|
||||
# fsType = "ceph";
|
||||
# options = [ "_netdev" ];
|
||||
# };
|
||||
#
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
97
common.nix
97
common.nix
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
meta,
|
||||
...
|
||||
}: let
|
||||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, meta
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
sshKeys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ87vi3BF+Mtb8Pv1Gqc9wyeXQCncJrg3lq4dwl15bkHUw4BlR2h1z8payBpGiKMnZy/NtWCclt3Jh562YhjLYHy9VtlTUlADGTvIPtczizZYPCzceC3fP1zCh2N8pUluR8J9Y+EvYWvSQkvSpwD8hhpLXeuOtFjjg0stLliI2YuVk4TJrXNmF8UNweeiBvaJW4Nye5no9h+IKTU8FPehB5BrWhTi9aTiTSxzgX3anOaTzRL1x+Lbeoo27AfZXwQJDlYHdg93csXyAP4l2g4lvtU98W3AlG7ZsipUgRWClfe4OBz1l2rT5F+l28daOFae+THOf2iG6kymesCeJiLBILWk45hmiA8Vv3XAdWxtqPJhQKrqtfm5GMm3cNZPc6N3CJe6gVw75eBCG1TjFhSVXmrHQgbmN0nFs6HU3+ghSnPmDI8A7DvWdRAKceWP39pb3g5kp/pTg+Lj+yFV2ll4/MvbN1wcSdW5azDAYLVnMCS6b8ikO16tpnLT1bbUN4M0= ceph-f4745d24-7f5e-11ef-b66f-14ac604688a3"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ87vi3BF+Mtb8Pv1Gqc9wyeXQCncJrg3lq4dwl15bkHUw4BlR2h1z8payBpGiKMnZy/NtWCclt3Jh562YhjLYHy9VtlTUlADGTvIPtczizZYPCzceC3fP1zCh2N8pUluR8J9Y+EvYWvSQkvSpwD8hhpLXeuOtFjjg0stLliI2YuVk4TJrXNmF8UNweeiBvaJW4Nye5no9h+IKTU8FPehB5BrWhTi9aTiTSxzgX3anOaTzRL1x+Lbeoo27AfZXwQJDlYHdg93csXyAP4l2g4lvtU98W3AlG7ZsipUgRWClfe4OBz1l2rT5F+l28daOFae+THOf2iG6kymesCeJiLBILWk45hmiA8Vv3XAdWxtqPJhQKrqtfm5GMm3cNZPc6N3CJe6gVw75eBCG1TjFhSVXmrHQgbmN0nFs6HU3+ghSnPmDI8A7DvWdRAKceWP39pb3g5kp/pTg+Lj+yFV2ll4/MvbN1wcSdW5azDAYLVnMCS6b8ikO16tpnLT1bbUN4M0= ceph-f4745d24-7f5e-11ef-b66f-14ac604688a3"
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\\mira.kristipati@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\\mira-yubikey-black"
|
||||
|
@ -20,9 +20,10 @@
|
|||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost"
|
||||
];
|
||||
in {
|
||||
in
|
||||
{
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
# package = pkgs.nixFlakes;
|
||||
optimise.automatic = true;
|
||||
# gc.automatic = true;
|
||||
extraOptions = ''
|
||||
|
@ -59,14 +60,23 @@ in {
|
|||
fontDir.enable = true;
|
||||
packages = with pkgs; [
|
||||
atkinson-hyperlegible
|
||||
#nerdfonts
|
||||
#fira-code-nerdfont
|
||||
nerd-fonts.monaspace
|
||||
];
|
||||
};
|
||||
services =
|
||||
{
|
||||
openssh = {
|
||||
# extraConfig = ''
|
||||
# Match Address 192.168.1.1
|
||||
# PasswordAuthentication no
|
||||
# Match Address 192.168.1.0/24
|
||||
# PasswordAuthentication yes
|
||||
# Match All
|
||||
# PasswordAuthentication no
|
||||
# '';
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
authorizedKeysInHomedir = true;
|
||||
settings = {
|
||||
PermitRootLogin = lib.mkForce "prohibit-password";
|
||||
PasswordAuthentication = false;
|
||||
|
@ -76,26 +86,30 @@ in {
|
|||
tuptime.enable = true;
|
||||
tuptime.timer.enable = true;
|
||||
}
|
||||
// lib.optionalAttrs ((builtins.match ".*-linux" pkgs.stdenv.hostPlatform.system)
|
||||
!= null) {
|
||||
avahi = {
|
||||
enable = true;
|
||||
ipv4 = true;
|
||||
ipv6 = true;
|
||||
nssmdns6 = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# smartd
|
||||
smartd.enable = lib.mkDefault true;
|
||||
}
|
||||
// lib.optionalAttrs
|
||||
((builtins.match ".*-linux" pkgs.stdenv.hostPlatform.system)
|
||||
!= null)
|
||||
{
|
||||
avahi = {
|
||||
enable = true;
|
||||
ipv4 = true;
|
||||
ipv6 = true;
|
||||
nssmdns6 = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# smartd
|
||||
smartd.enable = lib.mkDefault true;
|
||||
}
|
||||
# Mac Services
|
||||
// lib.optionalAttrs ((builtins.match ".*-darwin" pkgs.stdenv.hostPlatform.system)
|
||||
!= null) {
|
||||
nix-daemon.enable = true;
|
||||
};
|
||||
// lib.optionalAttrs
|
||||
((builtins.match ".*-darwin" pkgs.stdenv.hostPlatform.system)
|
||||
!= null)
|
||||
{
|
||||
nix-daemon.enable = true;
|
||||
};
|
||||
users = {
|
||||
groups.dockremap = {};
|
||||
groups.dockremap = { };
|
||||
groups."mira".gid = 1000;
|
||||
users = {
|
||||
root.openssh.authorizedKeys.keys = sshKeys;
|
||||
|
@ -103,7 +117,7 @@ in {
|
|||
isNormalUser = true;
|
||||
group = "mira";
|
||||
uid = 1000;
|
||||
extraGroups = ["wheel" "docker" "dockremap" "audio"];
|
||||
extraGroups = [ "wheel" "docker" "dockremap" "audio" ];
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
tree
|
||||
|
@ -113,14 +127,13 @@ in {
|
|||
};
|
||||
anish = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "docker" "dockremap"];
|
||||
extraGroups = [ "wheel" "docker" "dockremap" ];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu"];
|
||||
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
alejandra
|
||||
environment.systemPackages = with pkgs; lib.lists.unique [
|
||||
bat
|
||||
btdu
|
||||
btop
|
||||
|
@ -134,7 +147,7 @@ in {
|
|||
fd
|
||||
file
|
||||
fzf
|
||||
ceph
|
||||
ceph # TODO: remove after migrating away from ceph
|
||||
gdu
|
||||
hyfetch
|
||||
killall
|
||||
|
@ -153,13 +166,23 @@ in {
|
|||
powertop
|
||||
brightnessctl
|
||||
zoxide
|
||||
zellij
|
||||
zsh
|
||||
lsof
|
||||
unzip
|
||||
|
||||
] ++ [
|
||||
alejandra
|
||||
lua-language-server
|
||||
stylua
|
||||
];
|
||||
programs = {
|
||||
tmux.enable = true;
|
||||
tmux = {
|
||||
enable = true;
|
||||
shortcut = "a";
|
||||
keyMode = "vi";
|
||||
aggressiveResize = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
|
255
flake.lock
generated
255
flake.lock
generated
|
@ -1,5 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"cargo2nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705129117,
|
||||
"narHash": "sha256-LgdDHibvimzYhxBK3kxCk2gAL7k4Hyigl5KI0X9cijA=",
|
||||
"owner": "cargo2nix",
|
||||
"repo": "cargo2nix",
|
||||
"rev": "ae19a9e1f8f0880c088ea155ab66cee1fa001f59",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cargo2nix",
|
||||
"ref": "release-0.11.0",
|
||||
"repo": "cargo2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -17,6 +39,22 @@
|
|||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
|
@ -40,11 +78,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -62,11 +100,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -74,9 +112,27 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
|
@ -88,11 +144,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726745158,
|
||||
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
|
||||
"lastModified": 1733665616,
|
||||
"narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
|
||||
"rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -132,11 +188,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724947644,
|
||||
"narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=",
|
||||
"lastModified": 1733333617,
|
||||
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef",
|
||||
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -145,21 +201,50 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mirafetch": {
|
||||
"inputs": {
|
||||
"cargo2nix": "cargo2nix",
|
||||
"flake-utils": [
|
||||
"mirafetch",
|
||||
"cargo2nix",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"mirafetch",
|
||||
"cargo2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728409373,
|
||||
"narHash": "sha256-574pVToueBW5O7GrYqOIP7LXWLaL8DtVItIYL7McMyw=",
|
||||
"owner": "ArgentumCation",
|
||||
"repo": "mirafetch",
|
||||
"rev": "4ee59bf0ed1f8c7d645de3c07a8a8d38b6cd5447",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ArgentumCation",
|
||||
"repo": "mirafetch",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-nightly-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"neovim-src": "neovim-src",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727528434,
|
||||
"narHash": "sha256-fzvvCB0hjPPq3BhawZxcHAxY+MQIgJp6fJoa7QN/Sfc=",
|
||||
"lastModified": 1733962285,
|
||||
"narHash": "sha256-djpjqhPZkqfe1USsuu+eT4ZyGO+dVvAf3l4FUCZEb6Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "b0e07ef4637357f272a62e6bb7f5f4460766aade",
|
||||
"rev": "2025aef04baf723bfa4cb8225fc11a319a5681f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -171,11 +256,11 @@
|
|||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1727476305,
|
||||
"narHash": "sha256-vwwFI1qM0vIBy4H3XrelrUk886+H0sJfWzEREmg2Hb8=",
|
||||
"lastModified": 1733924897,
|
||||
"narHash": "sha256-Fxzl754uzyNebXW54LUliFliMbw30XG+bdb0AVtPSM0=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "0f067cd34d09b38f9aaf2e1732d825e89b573077",
|
||||
"rev": "442d338cb50e4cf08c58cb82b6d33b6d5df9fb1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -186,14 +271,14 @@
|
|||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727507295,
|
||||
"narHash": "sha256-I/FrX1peu4URoj5T5odfuKR2rm4GjYJJpCGF9c0/lDA=",
|
||||
"lastModified": 1733570843,
|
||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "f2e1c4aa29fc211947c3a7113cba1dd707433b70",
|
||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -204,11 +289,11 @@
|
|||
},
|
||||
"nixos-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1727348695,
|
||||
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
|
||||
"lastModified": 1733759999,
|
||||
"narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
|
||||
"rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -220,27 +305,27 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1727335715,
|
||||
"narHash": "sha256-1uw3y94dA4l22LkqHRIsb7qr3rV5XdxQFqctINfx8Cc=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1705099185,
|
||||
"narHash": "sha256-SxJenKtvcrKJd0TyJQMO3p6VA7PEp+vmMnmlKFzWMNs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "28b5b8af91ffd2623e995e20aee56510db49001a",
|
||||
"rev": "2bce5ccff0ad7abda23e8bb56434b6877a446694",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"owner": "nixos",
|
||||
"ref": "release-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-darwin": {
|
||||
"locked": {
|
||||
"lastModified": 1727546182,
|
||||
"narHash": "sha256-T2nLZbgDBhx6T2rOgw522f/WwXnXJrBOzCw+q2XgmAc=",
|
||||
"lastModified": 1733776571,
|
||||
"narHash": "sha256-mD1NyWpiHz9siylwga4oGZcdQWxxSEVJTWyLMltJMfw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ced0da1e7e7d50f1352bc6bdd25af8ae55eb3934",
|
||||
"rev": "976c39e1457c7c9f193b32d5dbe85da2ae608d03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -252,11 +337,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1727524699,
|
||||
"narHash": "sha256-k6YxGj08voz9NvuKExojiGXAVd69M8COtqWSKr6sQS4=",
|
||||
"lastModified": 1733749988,
|
||||
"narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b5b2fecd0cadd82ef107c9583018f381ae70f222",
|
||||
"rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -267,6 +352,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1733749988,
|
||||
"narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1718149104,
|
||||
"narHash": "sha256-Ds1QpobBX2yoUDx9ZruqVGJ/uQPgcXoYuobBguyKEh8=",
|
||||
|
@ -280,13 +381,13 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1727540905,
|
||||
"narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=",
|
||||
"lastModified": 1733730953,
|
||||
"narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fbca5e745367ae7632731639de5c21f29c8744ed",
|
||||
"rev": "7109b680d161993918b0a126f38bc39763e5a709",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -298,13 +399,77 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"mirafetch": "mirafetch",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixos-unstable": "nixos-unstable",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-darwin": "nixpkgs-darwin",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"mirafetch",
|
||||
"cargo2nix",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"mirafetch",
|
||||
"cargo2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705112162,
|
||||
"narHash": "sha256-IAM0+Uijh/fwlfoeDrOwau9MxcZW3zeDoUHc6Z3xfqM=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "9e0af26ffe52bf955ad5575888f093e41fba0104",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733761991,
|
||||
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
description = "flake for mira::{auxin, leptin, gastrin}";
|
||||
|
||||
inputs = {
|
||||
mirafetch.url = "github:ArgentumCation/mirafetch";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||
nixos-unstable = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
@ -40,7 +41,7 @@
|
|||
./auxin/configuration.nix
|
||||
./auxin/hardware-configuration.nix
|
||||
./common.nix
|
||||
./primary.nix
|
||||
# ./primary.nix
|
||||
];
|
||||
};
|
||||
orexin = nixos-unstable.lib.nixosSystem {
|
||||
|
|
Loading…
Add table
Reference in a new issue