Compare commits

...

3 Commits

Author SHA1 Message Date
5c9bf6838c feat: stuff 2025-08-09 17:41:55 +02:00
75e460293c feat: shark 2025-08-09 17:27:54 +02:00
c570ea0f54 update system 2025-08-08 10:54:39 +02:00
16 changed files with 605 additions and 35 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
result
deploy-luci.sh

View File

@@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIPX+YdfBdTBT3wXyWkXt3k+kFYqXxSFMAHE85bOUxkJJAAAABHNzaDo= theaninova@MONSTER

293
changes.patch Normal file
View File

@@ -0,0 +1,293 @@
diff --git a/flake.nix b/flake.nix
index 95415a8..dfc359c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -140,6 +140,11 @@
username = "theaninova";
system = "x86_64-linux";
};
+ shark = mkHost {
+ hostname = "shark";
+ username = "luci";
+ system = "x86_64-linux";
+ };
};
nixosModules.theaninovos = import ./modules/nixos;
diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix
new file mode 100644
index 0000000..efec798
--- /dev/null
+++ b/hosts/shark/default.nix
@@ -0,0 +1,164 @@
+{
+ pkgs,
+ lib,
+ username,
+ ...
+}:
+{
+ imports = [ ./hardware-configuration.nix ];
+
+ nix = {
+ settings.experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
+ gc = {
+ automatic = true;
+ randomizedDelaySec = "14m";
+ options = "--deleteOlderThan 10d";
+ };
+ };
+
+ boot = {
+ quiet.enable = true;
+
+ kernelPackages = pkgs.linuxPackages_latest;
+
+ loader = {
+ systemd-boot = {
+ enable = true;
+ configurationLimit = 10;
+ };
+ efi.canTouchEfiVariables = true;
+ };
+ initrd = {
+ availableKernelModules = [ "tpm_tis" ];
+ systemd = {
+ enable = true;
+ tpm2.enable = true;
+ };
+ };
+ };
+
+ xdg.forced-compliance.enable = true;
+
+ usecases = {
+ gaming.enable = true;
+ "3d-printing".enable = true;
+ development.enable = true;
+ windows-vm.enable = true;
+ };
+
+ shell.components = {
+ firefox-pip.enable = true;
+ gnome-keyring.enable = true;
+ grimblast.enable = true;
+ hyprpicker.enable = true;
+ kde-connect.enable = true;
+ kitty.enable = true;
+ swaync.enable = true;
+ walker.enable = true;
+ waybar = {
+ enable = true;
+ mobile = true;
+ };
+ };
+ desktops = {
+ hyprland.enable = true;
+ };
+ locale.preset.theaninova.enable = true;
+
+ services.xserver = {
+ xkb = {
+ #variant = "altgr-intl";
+ #layout = "us";
+ layout = "de";
+ };
+ videoDrivers = [ "nvidia" ];
+ };
+
+ hardware = {
+ q3279vwf.enable = true;
+ audio.preset.pipewire.enable = true;
+
+ nvidia.preset.proprietary.enable = true;
+
+ enableAllFirmware = true;
+ bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ };
+ };
+
+ fonts = {
+ fira-code = {
+ enable = true;
+ default = true;
+ };
+ noto-sans = {
+ enable = true;
+ default = true;
+ };
+ nerd-fonts.enable = true;
+ };
+
+ programs.zsh.enable = true;
+ security.sudo.configFile = ''
+ Defaults env_reset,pwfeedback,passprompt="󰟵 "
+ '';
+ security.tpm2.enable = true;
+ users.defaultUserShell = pkgs.zsh;
+ users.users.${username} = {
+ isNormalUser = true;
+ extraGroups = [
+ "scanner"
+ "lp"
+ "storage"
+ "networkmanager"
+ "audio"
+ "video"
+ "plugdev"
+ "cdrom"
+ "kvm"
+ ];
+ };
+
+ # List packages installed in system profile. To search, run:
+ environment.systemPackages = with pkgs; [
+ # Essential utils
+ usbutils
+ usbimager
+ uhubctl
+ bluetuith
+ pciutils
+ htop
+ unar
+ gnupg
+ libdrm
+ alsa-utils
+ graphicsmagick
+ ffmpeg
+ nfs-utils
+ opensc
+ openssl
+ # secure boot / tmp2
+ sbctl
+ tpm2-tss
+ # Essential command line apps
+ neovim
+ mc
+ git
+ p7zip
+ fzf
+ eza
+ ];
+
+ networking = {
+ networkmanager = {
+ enable = true;
+ plugins = with pkgs; [ networkmanager-openconnect ];
+ };
+ };
+
+ system.stateVersion = "24.11";
+}
diff --git a/hosts/shark/hardware-configuration.nix b/hosts/shark/hardware-configuration.nix
new file mode 100644
index 0000000..b848d1c
--- /dev/null
+++ b/hosts/shark/hardware-configuration.nix
@@ -0,0 +1,44 @@
+# Do not modify this file! It was generated by nixos-generate-config
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/9e1f4bb4-356b-4674-ba16-0d3f436cd882";
+ fsType = "xfs";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/6585-4C3B";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
+
+ fileSystems."/home" =
+ { device = "/dev/disk/by-uuid/fa017457-fef3-4fac-9348-d37d2cd98656";
+ fsType = "xfs";
+ };
+
+ swapDevices = [ ];
+
+ # 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.eno1.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/hosts/shark/home.nix b/hosts/shark/home.nix
new file mode 100755
index 0000000..b557825
--- /dev/null
+++ b/hosts/shark/home.nix
@@ -0,0 +1,31 @@
+{ pkgs, ... }:
+{
+ theme.md3-evo = {
+ enable = true;
+ auto-dark = {
+ enable = true;
+ lat = 52.52;
+ lon = 13.40;
+ };
+ };
+ programs.zoxide.enable = true;
+ home = {
+ packages = with pkgs; [
+ blueman
+ kdePackages.okular
+ ];
+ };
+ systemd.user.services = {
+ blueman-applet = {
+ Unit = {
+ Description = "Bluetooth manager applet";
+ After = [ "graphical-session.target" ];
+ };
+ Install.WantedBy = [ "graphical-session.target" ];
+ Service = {
+ ExecStart = "${pkgs.blueman}/bin/blueman-applet";
+ Restart = "always";
+ };
+ };
+ };
+}
diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix
index 2e835e7..4ebeaac 100644
--- a/modules/nixos/hardware/q3279vwf.nix
+++ b/modules/nixos/hardware/q3279vwf.nix
@@ -21,11 +21,11 @@ in
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
general.layout = "master";
master = {
- orientation = "center";
- always_center_master = true;
- mfact = 0.4;
+ orientation = "right";
+ mfact = 0.65;
+ always_keep_position = true;
};
- monitor = [ "DP-1,highrr,0x0,1" ];
+ monitor = [ "DP-1,2560x1440@75,0x0,1" ];
xwayland.force_zero_scaling = true;
misc.vrr = 2; # VA suffers from VRR flicker
};

30
flake.lock generated
View File

@@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"lastModified": 1753121425,
"narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
"type": "github"
},
"original": {
@@ -79,11 +79,11 @@
]
},
"locked": {
"lastModified": 1753181343,
"narHash": "sha256-CLQfNtUqirNVSYoW/kYbvL4PeeNasmZonaPnjO3+1YQ=",
"lastModified": 1753848447,
"narHash": "sha256-fsld/crW9XRodFUG1GK8Lt0ERv6ARl9Wj3Xb0x96J4w=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0cdfcdbb525b77b951c889b6131047bc374f48fe",
"rev": "d732b648e5a7e3b89439ee25895e4eb24b7e5452",
"type": "github"
},
"original": {
@@ -195,11 +195,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1752950548,
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"type": "github"
},
"original": {
@@ -219,11 +219,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1752976861,
"narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=",
"lastModified": 1753805595,
"narHash": "sha256-5m0FqObrj/0/nfoaKlgpye4+SZzj1nMPnlxGxlIxKNg=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "0c50ed9349199219583cb1ed1a972d71e06039ec",
"rev": "fe0bcc92c8c593d5e2b45ffb0d1253c3aa55eb72",
"type": "github"
},
"original": {
@@ -242,11 +242,11 @@
]
},
"locked": {
"lastModified": 1749730855,
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
"lastModified": 1753450833,
"narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=",
"owner": "NuschtOS",
"repo": "search",
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
"rev": "40987cc1a24feba378438d691f87c52819f7bd75",
"type": "github"
},
"original": {

View File

@@ -140,6 +140,11 @@
username = "theaninova";
system = "x86_64-linux";
};
shark = mkHost {
hostname = "shark";
username = "luci";
system = "x86_64-linux";
};
};
nixosModules.theaninovos = import ./modules/nixos;

View File

@@ -102,16 +102,18 @@
};
virtualisation.oci-containers.containers = {
statech = {
image = "eclipse-temurin:21-jre";
volumes = [ "/home/theaninova/.config/statech:/statech" ];
environment = { };
ports = [ "25565:25565" ];
workdir = "/statech";
entrypoint = "/bin/bash";
cmd = [ "start.sh" ];
extraOptions = [ "--network=host" ];
};
/*
statech = {
image = "eclipse-temurin:21-jre";
volumes = [ "/home/theaninova/.config/statech:/statech" ];
environment = { };
ports = [ "25565:25565" ];
workdir = "/statech";
entrypoint = "/bin/bash";
cmd = [ "start.sh" ];
extraOptions = [ "--network=host" ];
};
*/
/*
craftoria = {
image = "eclipse-temurin:21-jre";

View File

@@ -119,6 +119,18 @@
'';
security.tpm2.enable = true;
users.defaultUserShell = pkgs.zsh;
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
users.users.root.openssh.authorizedKeys.keys = [
(builtins.readFile ../../admins/theaninova.id_ed25519_sk.pub)
];
users.users.${username} = {
isNormalUser = true;
extraGroups = [

176
hosts/shark/default.nix Normal file
View File

@@ -0,0 +1,176 @@
{
pkgs,
lib,
username,
...
}:
{
imports = [ ./hardware-configuration.nix ];
nix = {
settings.experimental-features = [
"nix-command"
"flakes"
];
gc = {
automatic = true;
randomizedDelaySec = "14m";
options = "--deleteOlderThan 10d";
};
};
boot = {
quiet.enable = true;
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot = {
enable = true;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
};
initrd = {
availableKernelModules = [ "tpm_tis" ];
systemd = {
enable = true;
tpm2.enable = true;
};
};
};
xdg.forced-compliance.enable = true;
usecases = {
gaming.enable = true;
"3d-printing".enable = true;
development.enable = true;
windows-vm.enable = true;
};
shell.components = {
firefox-pip.enable = true;
gnome-keyring.enable = true;
grimblast.enable = true;
hyprpicker.enable = true;
kde-connect.enable = true;
kitty.enable = true;
swaync.enable = true;
walker.enable = true;
waybar = {
enable = true;
mobile = true;
};
};
desktops = {
hyprland.enable = true;
};
locale.preset.theaninova.enable = true;
services.xserver = {
xkb = {
#variant = "altgr-intl";
#layout = "us";
layout = "de";
};
videoDrivers = [ "nvidia" ];
};
hardware = {
q3279vwf.enable = true;
audio.preset.pipewire.enable = true;
nvidia.preset.proprietary.enable = true;
enableAllFirmware = true;
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
fonts = {
fira-code = {
enable = true;
default = true;
};
noto-sans = {
enable = true;
default = true;
};
nerd-fonts.enable = true;
};
programs.zsh.enable = true;
security.sudo.configFile = ''
Defaults env_reset,pwfeedback,passprompt="󰟵 "
'';
security.tpm2.enable = true;
users.defaultUserShell = pkgs.zsh;
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
users.users.root.openssh.authorizedKeys.keys = [
(builtins.readFile ../../admins/theaninova.id_ed25519_sk.pub)
];
users.users.${username} = {
isNormalUser = true;
extraGroups = [
"scanner"
"lp"
"storage"
"networkmanager"
"audio"
"video"
"plugdev"
"cdrom"
"kvm"
];
};
# List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; [
# Essential utils
usbutils
usbimager
uhubctl
bluetuith
pciutils
htop
unar
gnupg
libdrm
alsa-utils
graphicsmagick
ffmpeg
nfs-utils
opensc
openssl
# secure boot / tmp2
sbctl
tpm2-tss
# Essential command line apps
neovim
mc
git
p7zip
fzf
eza
];
networking = {
networkmanager = {
enable = true;
plugins = with pkgs; [ networkmanager-openconnect ];
};
};
system.stateVersion = "24.11";
}

View File

@@ -0,0 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/9e1f4bb4-356b-4674-ba16-0d3f436cd882";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/6585-4C3B";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/fa017457-fef3-4fac-9348-d37d2cd98656";
fsType = "xfs";
};
swapDevices = [ ];
# 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.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

31
hosts/shark/home.nix Executable file
View File

@@ -0,0 +1,31 @@
{ pkgs, ... }:
{
theme.md3-evo = {
enable = true;
auto-dark = {
enable = true;
lat = 52.52;
lon = 13.40;
};
};
programs.zoxide.enable = true;
home = {
packages = with pkgs; [
blueman
kdePackages.okular
];
};
systemd.user.services = {
blueman-applet = {
Unit = {
Description = "Bluetooth manager applet";
After = [ "graphical-session.target" ];
};
Install.WantedBy = [ "graphical-session.target" ];
Service = {
ExecStart = "${pkgs.blueman}/bin/blueman-applet";
Restart = "always";
};
};
};
}

View File

@@ -46,7 +46,7 @@
gimp3
inkscape-with-extensions
scribus
audacity
# audacity
pinta
kdePackages.kdenlive
losslesscut-bin

View File

@@ -60,9 +60,7 @@ in
"filter.smart" = true;
"filter.smart.target" = filter 24;
};
"playback.props" = {
"node.name" = "EQ Output";
};
"playback.props"."node.name" = "EQ Output";
};
}
];

View File

@@ -21,11 +21,11 @@ in
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
general.layout = "master";
master = {
orientation = "center";
always_center_master = true;
mfact = 0.4;
orientation = "right";
mfact = 0.65;
always_keep_position = true;
};
monitor = [ "DP-1,highrr,0x0,1" ];
monitor = [ "DP-1,2560x1440@75,0x0,1" ];
xwayland.force_zero_scaling = true;
misc.vrr = 2; # VA suffers from VRR flicker
};

View File

@@ -21,7 +21,7 @@ in
lpc21isp
dfu-util
openscad
orca-slicer
# orca-slicer
];
home-manager.users.${username} = {
services.flatpak.packages = [

View File

@@ -21,6 +21,13 @@ in
users.users.${username}.extraGroups = [ "libvirtd" ];
boot = {
kernelParams = [
"amd_iommu=on"
"iommu=pt"
];
};
environment.systemPackages = with pkgs; [
virt-manager
virt-viewer

View File

@@ -102,7 +102,7 @@ in
gpg.homedir = lib.mkIf itgr.gpg "${xdgConfig.configHome}/gnupg";
bash.historyFile = lib.mkIf itgr.bash "${xdgConfig.stateHome}/bash/history";
zsh = lib.mkIf itgr.zsh {
dotDir = ".config/zsh";
dotDir = "${xdgConfig.configHome}/zsh";
history.path = "${xdgConfig.stateHome}/zsh/history";
};
};