mirror of
https://github.com/kmein/niveum
synced 2026-03-22 12:51:08 +01:00
Compare commits
4 Commits
50a96b5f7a
...
f57d1780fb
| Author | SHA1 | Date | |
|---|---|---|---|
| f57d1780fb | |||
| d4cb0abc24 | |||
| 1f418c9532 | |||
| ab3a17be25 |
2
.github/workflows/niveum.yml
vendored
2
.github/workflows/niveum.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
system: [makanek,manakish,kabsa,zaatar,ful]
|
||||
system: [makanek,manakish,kabsa,zaatar,ful,fatteh]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install QEMU (ARM)
|
||||
|
||||
@@ -109,16 +109,16 @@ in {
|
||||
folders = let
|
||||
cloud-dir = "${config.users.users.me.home}/cloud";
|
||||
in {
|
||||
"${cloud-dir}/syncthing/zotero/storage".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/zotero/storage".devices = ["kabsa" "manakish" "fatteh"];
|
||||
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish" "fatteh"];
|
||||
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym" "fatteh"];
|
||||
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym" "fatteh"];
|
||||
"${cloud-dir}/syncthing/obsidian" = {
|
||||
devices = ["kabsa" "manakish" "heym"];
|
||||
devices = ["kabsa" "manakish" "heym" "fatteh"];
|
||||
id = "3r1hu-3barr";
|
||||
};
|
||||
"${cloud-dir}/syncthing/music" = {
|
||||
devices = ["kabsa" "manakish" "heym" "zaatar"];
|
||||
devices = ["kabsa" "manakish" "heym" "zaatar" "fatteh"];
|
||||
id = "music";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -83,16 +83,11 @@ in {
|
||||
users.users.me = {
|
||||
name = "kfm";
|
||||
description = kieran.name;
|
||||
hashedPasswordFile = config.age.secrets.kfm-password.path;
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
extraGroups = ["pipewire" "audio"];
|
||||
};
|
||||
|
||||
age.secrets = {
|
||||
kfm-password.file = ../secrets/kfm-password.age;
|
||||
};
|
||||
|
||||
home-manager.users.me.xdg.enable = true;
|
||||
}
|
||||
{
|
||||
@@ -123,7 +118,7 @@ in {
|
||||
enable = true;
|
||||
displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
user = config.users.users.me.name;
|
||||
};
|
||||
lightdm = {
|
||||
|
||||
@@ -68,12 +68,6 @@ in {
|
||||
group = config.users.users.me.group;
|
||||
mode = "400";
|
||||
};
|
||||
blackboard-calendar-ics = {
|
||||
file = ../secrets/blackboard-calendar-ics.age;
|
||||
owner = config.users.users.me.name;
|
||||
group = config.users.users.me.group;
|
||||
mode = "400";
|
||||
};
|
||||
};
|
||||
|
||||
# https://www.zedat.fu-berlin.de/tip4u_157.pdf
|
||||
|
||||
5
configs/gnome.nix
Normal file
5
configs/gnome.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
}
|
||||
@@ -74,6 +74,11 @@ in {
|
||||
user = "kfm";
|
||||
port = sshPort;
|
||||
};
|
||||
fatteh = {
|
||||
hostname = "fatteh.hr";
|
||||
user = "kfm";
|
||||
port = sshPort;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
8
flake.lock
generated
8
flake.lock
generated
@@ -1179,11 +1179,11 @@
|
||||
},
|
||||
"retiolum_2": {
|
||||
"locked": {
|
||||
"lastModified": 1708082526,
|
||||
"narHash": "sha256-Zp5qGHlJge93vM2Z+5jGyyD6o48NvmCjjaujeZJ1vsI=",
|
||||
"lastModified": 1710877137,
|
||||
"narHash": "sha256-oc6CXM2abODnQ4q+/A5a+9SXrdRVp5pwyv7rKO/YUiw=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "00af6f8e749d720a0423834024adafef4f9ebf03",
|
||||
"revCount": 338,
|
||||
"rev": "3506e34e564a777015718007ec9b8847fcd38637",
|
||||
"revCount": 339,
|
||||
"type": "git",
|
||||
"url": "https://git.thalheim.io/Mic92/retiolum"
|
||||
},
|
||||
|
||||
13
flake.nix
13
flake.nix
@@ -102,6 +102,7 @@
|
||||
makanek = "root@makanek";
|
||||
manakish = "root@manakish";
|
||||
kabsa = "root@kabsa";
|
||||
fatteh = "root@fatteh";
|
||||
};
|
||||
in
|
||||
lib.attrsets.nameValuePair "deploy-${hostname}" {
|
||||
@@ -266,6 +267,18 @@
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
};
|
||||
fatteh = nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = niveumSpecialArgs system;
|
||||
modules = [
|
||||
systems/fatteh/configuration.nix
|
||||
agenix.nixosModules.default
|
||||
retiolum.nixosModules.retiolum
|
||||
home-manager.nixosModules.home-manager
|
||||
nur.nixosModules.nur
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
// flake-utils.lib.eachSystem [flake-utils.lib.system.x86_64-linux flake-utils.lib.system.x86_64-darwin flake-utils.lib.system.aarch64-linux] (system: let
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
sshKeys = pkgs:
|
||||
pkgs.lib.strings.splitString "\n" (pkgs.lib.strings.fileContents (pkgs.fetchurl {
|
||||
url = "https://github.com/kmein.keys";
|
||||
hash = "sha256-TVv1UHfNs3zIW8vrnCG7PPeMtgr2SDjrb8yZBMvp9/A=";
|
||||
hash = "sha256-kabB1yNEToMw1Lcf4WYx4IfuuLzHOPvABTQku5CE60A=";
|
||||
}));
|
||||
};
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
toum.id = "CBJQXFF-FMFGWFU-2J6FMPR-SRDTSGX-7NHOYOH-CQCABKF-KQJMRJC-SDE24Q4";
|
||||
zaatar.id = "CGHO6LK-ZJBAXBD-UWI7AH3-BXYARE6-EUIM7PE-O2FUCOM-VCCRNCM-IG34WQ7";
|
||||
tahina.id = "UKJ2CBO-EQPKQL4-3QLRUSG-SSYR6AB-CCCUTKU-CLPYR7N-RUI5A6Y-JTL5NA4";
|
||||
fatteh.id = "GSOGYT3-2GBHZXT-MNCTDIY-3BJIR4V-OHVOOMJ-ICVLKXR-U4C7RFB-HJOK3AC";
|
||||
};
|
||||
|
||||
ignorePaths = [
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
ipv6 = "42:0:3c46:f7a9:1f0a:1b2b:822a:6050";
|
||||
};
|
||||
|
||||
fatteh = {
|
||||
ipv6 = "42:0:3c46:aa73:82b0:14d7:7bf8:bf2";
|
||||
ipv4 = "10.243.2.77";
|
||||
};
|
||||
|
||||
manakish = {
|
||||
ipv4 = "10.243.2.85";
|
||||
ipv6 = "42:0:3c46:ac99:ae36:cb8:c551:ba27";
|
||||
|
||||
2
secrets
2
secrets
Submodule secrets updated: 5c4171e425...8fe347833a
@@ -10,24 +10,25 @@ secrets/email-password-fysi.age
|
||||
secrets/email-password-meinhak99.age
|
||||
secrets/email-password-meinhaki.age
|
||||
secrets/email-password-posteo.age
|
||||
secrets/fatteh-retiolum-privateKey-ed25519.age
|
||||
secrets/fatteh-retiolum-privateKey-rsa.age
|
||||
secrets/fatteh-syncthing-cert.age
|
||||
secrets/fatteh-syncthing-key.age
|
||||
secrets/ful-retiolum-privateKey-ed25519.age
|
||||
secrets/ful-retiolum-privateKey-rsa.age
|
||||
secrets/ful-root.age
|
||||
secrets/ful-specus-privateKey.age
|
||||
secrets/github-token-i3status-rust.age
|
||||
secrets/grafana-password-admin.age
|
||||
secrets/hetzner-storagebox-credentials.age
|
||||
secrets/home-assistant-token.age
|
||||
secrets/kabsa-retiolum-privateKey-ed25519.age
|
||||
secrets/kabsa-retiolum-privateKey-rsa.age
|
||||
secrets/kabsa-specus-privateKey.age
|
||||
secrets/kabsa-syncthing-cert.age
|
||||
secrets/kabsa-syncthing-key.age
|
||||
secrets/kfm-password.age
|
||||
secrets/ledger-basicAuth.age
|
||||
secrets/makanek-retiolum-privateKey-ed25519.age
|
||||
secrets/makanek-retiolum-privateKey-rsa.age
|
||||
secrets/makanek-specus-privateKey.age
|
||||
secrets/manakish-retiolum-privateKey-ed25519.age
|
||||
secrets/manakish-retiolum-privateKey-rsa.age
|
||||
secrets/manakish-syncthing-cert.age
|
||||
|
||||
45
systems/fatteh/configuration.nix
Normal file
45
systems/fatteh/configuration.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../lib) retiolumAddresses;
|
||||
in {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../configs/networkmanager.nix
|
||||
../../configs/default.nix
|
||||
# ../../configs/gnome.nix
|
||||
];
|
||||
|
||||
niveum = {
|
||||
batteryName = "BAT1";
|
||||
wirelessInterface = "wlp3s0";
|
||||
promptColours.success = "blue";
|
||||
};
|
||||
|
||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/onedark.yaml";
|
||||
|
||||
age.secrets = {
|
||||
retiolum-rsa = {
|
||||
file = ../../secrets/fatteh-retiolum-privateKey-rsa.age;
|
||||
mode = "400";
|
||||
owner = "tinc.retiolum";
|
||||
group = "tinc.retiolum";
|
||||
};
|
||||
retiolum-ed25519 = {
|
||||
file = ../../secrets/fatteh-retiolum-privateKey-ed25519.age;
|
||||
mode = "400";
|
||||
owner = "tinc.retiolum";
|
||||
group = "tinc.retiolum";
|
||||
};
|
||||
restic.file = ../../secrets/restic.age;
|
||||
syncthing-cert.file = ../../secrets/fatteh-syncthing-cert.age;
|
||||
syncthing-key.file = ../../secrets/fatteh-syncthing-key.age;
|
||||
};
|
||||
|
||||
networking.hostName = "fatteh";
|
||||
networking.retiolum = retiolumAddresses.fatteh;
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
51
systems/fatteh/hardware-configuration.nix
Normal file
51
systems/fatteh/hardware-configuration.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
boot.initrd.luks.devices."luks-aa6beb1b-3e54-4a0e-ac9c-e0c007d73cd5".device = "/dev/disk/by-uuid/aa6beb1b-3e54-4a0e-ac9c-e0c007d73cd5";
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/42b747ff-a432-4c0e-bb0a-59f0a68c44a2";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-67c1f7da-4318-49f7-bd98-cc731990b595".device = "/dev/disk/by-uuid/67c1f7da-4318-49f7-bd98-cc731990b595";
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/9051-0891";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/529a1893-773e-4d04-bf6c-16e67e1ed3c7";}
|
||||
];
|
||||
|
||||
# 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
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wwan0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -8,9 +8,9 @@
|
||||
in {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../configs/battery.nix
|
||||
../../configs/tlp.nix
|
||||
../../configs/default.nix
|
||||
../../configs/networkmanager.nix # TODO how to get passwords into there?
|
||||
../../configs/networkmanager.nix
|
||||
];
|
||||
|
||||
niveum = {
|
||||
|
||||
@@ -10,7 +10,7 @@ in {
|
||||
./hardware-configuration.nix
|
||||
./hdmi.nix
|
||||
../../configs/default.nix
|
||||
../../configs/battery.nix
|
||||
../../configs/tlp.nix
|
||||
../../configs/wpa_supplicant.nix
|
||||
../../configs/admin-essentials.nix
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user