Compare commits

...

28 commits

Author SHA1 Message Date
825b6ecced feat: actually set theme; also enable silent boot 2025-07-27 00:41:43 +02:00
f78c95efe3 feat: adds script to install python-pip packages for when required 2025-07-27 00:17:02 +02:00
aa3b1439b0 feat: adds gp abbreviation 2025-07-27 00:16:39 +02:00
863e43f7e9 feat: adds key for zinnia to ssh config for all devices 2025-07-27 00:15:39 +02:00
972158a023 chore: merge remote-tracking branch 'refs/remotes/origin/master' 2025-07-27 00:10:44 +02:00
b27442991e feat: write big cursed function to make zinnia's display work 2025-07-27 00:10:08 +02:00
e9bd003401 feat: adds zinnia host 2025-07-26 23:35:29 +02:00
2f23a9f717 feat: open firewall as we now also host minecraft (wooo!) 2025-07-26 23:18:57 +02:00
c5184d62da feat: make kitty more transparent as that works better with the bar 2025-07-26 23:16:21 +02:00
28475cea7d chore: remove plymouth from ichiyo as it is enabled by default anyways nowadays 2025-07-26 23:12:13 +02:00
fd68b40a72 chore: remove command-not-found; it sucks 2025-07-26 22:10:49 +02:00
f25337f548 flake: remove nix-index-database; it sucks 2025-07-26 22:10:37 +02:00
b5251f42b9 chore: adds v4l2loopback and config for the obs virtual camera 2025-07-26 21:54:21 +02:00
ca6f78393a chore: merge remote-tracking branch 'refs/remotes/origin/master' 2025-07-26 21:51:50 +02:00
c7484bcda5 feat: configure new zfs pools for dandelion 2025-07-26 21:47:14 +02:00
e9cb874ec9 chore: disable immich (via nix) and nextcloud for now 2025-07-26 21:46:44 +02:00
05d817ef8a flake: change inputs 2025-07-26 21:03:26 +02:00
23ab37bf70 chore: remove catppuccin and nix-gaming inputs, remove desktop/vm hosts, add nix-index-database for command-not-found 2025-07-26 20:07:52 +02:00
9d63509ad9 chore: remove rests of desktop and vm 2025-07-26 20:07:16 +02:00
0477b8b4e3 chore: remove steam; remove desktop profile since it is not used 2025-07-26 20:06:08 +02:00
ed59dde6ca chore: remove sakura as that was left from a paste 2025-07-26 20:01:11 +02:00
664a158281 feat: adds nixcd function 2025-07-26 19:06:51 +02:00
570f3d511a chore: cleanup; hard-disable avahi since it's not required 2025-07-26 19:06:39 +02:00
4741c430f9 chore: disable plymouth on sakura as the module is now in use 2025-07-26 19:06:18 +02:00
f62efc1eee feat: write plymouth module 2025-07-26 19:06:05 +02:00
42cc781bd7 feat: adds sleep-then-hibernate to sakura 2025-07-26 19:04:45 +02:00
e8536922d7 flake: update 2025-07-26 17:10:39 +02:00
c6d77088e1 feat: move waybar to bottom, also make it more transparent 2025-07-26 17:10:33 +02:00
27 changed files with 274 additions and 364 deletions

236
flake.lock generated
View file

@ -96,24 +96,6 @@
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1753284130,
"narHash": "sha256-qadXtVNH5qFiD3zIAk7mk6E8kV+TuK86a7TUhs0kouc=",
"owner": "catppuccin",
"repo": "nix",
"rev": "6365c59e7506fd3e6e5050c8184b41aa7410d6e7",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -178,24 +160,6 @@
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1741352980,
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
@ -210,7 +174,7 @@
"type": "github"
}
},
"flake-parts_3": {
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
@ -232,7 +196,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nur",
@ -337,11 +301,11 @@
]
},
"locked": {
"lastModified": 1753373145,
"narHash": "sha256-UhuUj46dobD/POOdVNxKvAvP3luI2T0MZPm2IXl266Y=",
"lastModified": 1753470191,
"narHash": "sha256-hOUWU5L62G9sm8NxdiLWlLIJZz9H52VuFiDllHdwmVA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "64796151f79e6f3834bfc55f07c5487708bb5b3f",
"rev": "a1817d1c0e5eabe7dfdfe4caa46c94d9d8f3fdb6",
"type": "github"
},
"original": {
@ -352,7 +316,7 @@
},
"hypr-contrib": {
"inputs": {
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1753252360,
@ -444,11 +408,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1753310189,
"narHash": "sha256-EgDpsy/2ge/88Zd5ML+m0tyFVwXCeUoPQTOs4YtWZ8w=",
"lastModified": 1753523167,
"narHash": "sha256-DLVvtdF8zPmL+7dYubnMfK9IIITriecCg7ijLErUTg0=",
"ref": "refs/heads/main",
"rev": "31cc7f3b87d1d9670b66e73e3720da2e2da49acd",
"revCount": 6311,
"rev": "e1fff05d0db9c266679ec7ea1b5734c73d6b0a57",
"revCount": 6314,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -639,7 +603,7 @@
"inputs": {
"hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"systems": "systems_4"
},
"locked": {
@ -662,7 +626,7 @@
"hyprlang": "hyprlang_2",
"hyprutils": "hyprutils_3",
"hyprwayland-scanner": "hyprwayland-scanner_3",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_5",
"systems": "systems_5"
},
"locked": {
@ -859,25 +823,6 @@
"type": "github"
}
},
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1753367463,
"narHash": "sha256-57dj9Yg+R+70TEjQ2Zd1ytbo+6Tgzd6vBcUWcMDXHWU=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "f459134cf7b4f4f890736063a7cde1cf3b9fb7e6",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1753122741,
@ -910,21 +855,6 @@
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1751159883,
"narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1740877520,
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
@ -939,38 +869,6 @@
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1742800061,
"narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1753250450,
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1657425264,
@ -989,11 +887,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1752950548,
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github"
},
"original": {
@ -1005,11 +903,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"lastModified": 1748929857,
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
"type": "github"
},
"original": {
@ -1037,11 +935,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1748929857,
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
"lastModified": 1753429684,
"narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
"rev": "7fd36ee82c0275fb545775cc5e4d30542899511d",
"type": "github"
},
"original": {
@ -1052,38 +950,6 @@
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1752900028,
"narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6b4955211758ba47fac850c040a27f23b9b4008f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1753250450,
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1743315132,
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
@ -1099,18 +965,50 @@
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1742800061,
"narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1753429684,
"narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7fd36ee82c0275fb545775cc5e4d30542899511d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_9",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_7",
"nixvim": "nixvim_2"
},
"locked": {
"lastModified": 1749898168,
"narHash": "sha256-aOUvfBcLdrNzI1BL+jhPh0y0cFkgjne2tstDb8k1vI0=",
"lastModified": 1753530968,
"narHash": "sha256-mn0wmdFjtZdPQNvReOnyXI8YPCT3arnAKyfuRZuIOiQ=",
"owner": "ahwxorg",
"repo": "nixvim-config",
"rev": "546d385ec71b0ed34abc3f32100e3d0792c349c8",
"rev": "bdb8c7c4c77d2757c7e8fdd6e853060ba8287e90",
"type": "github"
},
"original": {
@ -1121,8 +1019,8 @@
},
"nixvim_2": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_10",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_8",
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
@ -1141,15 +1039,15 @@
},
"nur": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_11"
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1753382346,
"narHash": "sha256-zmwOtA2ug12q+n50PZloOR9BdR/NN+iugdYyTjtKgS0=",
"lastModified": 1753530457,
"narHash": "sha256-ElI7ya0YQ07RMDEaF94bQe7Rmz4tr2pKYa+KdRchrEY=",
"owner": "nix-community",
"repo": "NUR",
"rev": "36c64dfbef717701d0a9cac2ea26e4357d782357",
"rev": "8c37eaf318485018b37efa1006af881c5c7f5616",
"type": "github"
},
"original": {
@ -1210,15 +1108,13 @@
"Hyprspace": "Hyprspace",
"agenix": "agenix",
"alejandra": "alejandra",
"catppuccin": "catppuccin",
"home-manager": "home-manager_2",
"hypr-contrib": "hypr-contrib",
"hyprland": "hyprland",
"hyprpicker": "hyprpicker",
"hyprsunset": "hyprsunset",
"nix-gaming": "nix-gaming",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_6",
"nixvim": "nixvim",
"nur": "nur"
}

View file

@ -4,7 +4,6 @@
inputs = {
agenix.url = "github:ryantm/agenix";
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
catppuccin.url = "github:catppuccin/nix";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
@ -25,14 +24,12 @@
nur.url = "github:nix-community/NUR";
nixos-hardware.url = "github:nixos/nixos-hardware";
nixvim.url = "github:ahwxorg/nixvim-config";
nix-gaming.url = "github:fufexan/nix-gaming";
};
outputs =
{
self,
nixpkgs,
catppuccin,
agenix,
...
}@inputs:
@ -48,16 +45,6 @@
{
overlays.default = overlays.addition;
nixosConfigurations = {
desktop = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
(import ./hosts/desktop)
];
specialArgs = {
host = "desktop";
inherit self inputs username;
};
};
sakura = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
@ -124,14 +111,14 @@
inherit self inputs username;
};
};
vm = nixpkgs.lib.nixosSystem {
zinnia = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
(import ./hosts/vm)
(import ./hosts/zinnia)
agenix.nixosModules.default
];
specialArgs = {
host = "vm";
host = "zinnia";
inherit self inputs username;
};
};

View file

@ -60,10 +60,16 @@
trim.enable = true;
};
# boot.zfs.extraPools = [ "terrabite" ];
boot.zfs.extraPools = [ "spinners" ];
# fileSystems."/terrabite/main" = {
# device = "terrabite/main";
# fsType = "zfs";
# };
fileSystems = {
"/spinners/rootvol" = {
device = "terrabite/rootvol";
fsType = "zfs";
};
"/spinners/ahwx" = {
device = "terrabite/ahwx";
fsType = "zfs";
};
};
}

View file

@ -1,15 +0,0 @@
{ pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./../../modules/core
];
nixpkgs.config.permittedInsecurePackages = [
"jitsi-meet-1.0.8043"
"olm-3.2.16"
];
liv.desktop.enable = true;
liv.gui.enable = true;
}

View file

@ -11,9 +11,6 @@
./../../modules/core
];
# Enable fancy boot animations
boot.plymouth.enable = true;
powerManagement = {
enable = true;
# powertop.enable = true;

View file

@ -71,8 +71,12 @@
${pkgs.fw-ectool}/bin/ectool led battery auto
'';
};
systemd.sleep.extraConfig = ''
HibernateDelaySec=30m
'';
services.logind.lidSwitch = "suspend-then-hibernate";
boot = {
plymouth.enable = true;
# plymouth.enable = true; # is a module now
kernelParams = [
"mem_sleep_default=deep"
"acpi_osi=\"!Windows 2020\"" # otherwise GPU does weird shit that makes the computer look like the RAM is broken
@ -89,7 +93,11 @@
[
acpi_call
cpupower
v4l2loopback
]
++ [ pkgs.cpupower-gui ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
};
}

View file

@ -33,6 +33,14 @@
xserver.videoDrivers = [ "nvidia" ];
};
networking.firewall = {
allowedTCPPorts = [
80
443
25565
];
};
liv.nvidia.enable = true;
boot = {

View file

@ -1,36 +0,0 @@
{ pkgs, config, lib, ... }:
{
imports = [
./hardware-configuration.nix
./../../modules/core
];
nixpkgs.config.permittedInsecurePackages = [
"jitsi-meet-1.0.8043"
"olm-3.2.16"
];
# kvm/qemu doesn't use UEFI firmware mode by default.
# so we force-override the setting here
# and configure GRUB instead.
boot.loader = {
systemd-boot.enable = lib.mkForce false;
grub = {
enable = true;
device = "/dev/vda";
useOSProber = false;
};
};
# allow local remote access to make it easier to toy around with the system
services.openssh = {
enable = true;
ports = [22];
settings = {
# PasswordAuthentication = lib.mkOverride true;
AllowUsers = null;
# PermitRootLogin = "yes";
};
};
}

View file

@ -1,31 +0,0 @@
# 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 + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437";
fsType = "ext4";
};
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.enp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

61
hosts/zinnia/default.nix Normal file
View file

@ -0,0 +1,61 @@
{
lib,
config,
pkgs,
...
}:
{
imports = [
./hardware-configuration.nix
./../../modules/core
./../../modules/services/tailscale.nix
./../../modules/services/mpd.nix
];
liv = {
laptop.enable = true;
gui.enable = true;
desktop.enable = false;
creative.enable = false;
amdgpu.enable = false;
};
services = {
vnstat.enable = true;
};
networking.hostName = "zinnia";
powerManagement = {
enable = true;
powertop.enable = true;
cpuFreqGovernor = lib.mkDefault "ondemand";
};
boot.initrd.luks.devices."luks-59aff546-c2c2-4697-a5f2-40a12f259f5a".device =
"/dev/disk/by-uuid/59aff546-c2c2-4697-a5f2-40a12f259f5a";
boot = {
kernelParams = [
"mem_sleep_default=deep"
];
kernelModules = [ "acpi_call" ];
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
systemd-boot.configurationLimit = 10;
};
extraModulePackages =
with config.boot.kernelPackages;
[
acpi_call
cpupower
]
++ [ pkgs.cpupower-gui ];
};
time.timeZone = "Europe/Amsterdam";
nixpkgs.config.allowUnfree = true;
}

View file

@ -5,26 +5,30 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[ (modulesPath + "/hardware/network/broadcom-43xx.nix")
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/6b518d54-a144-42fe-b500-b6651038bbcc";
{ device = "/dev/disk/by-uuid/c9f69c59-2014-41de-b169-53c38c7d9f15";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-ad0e2f90-490d-4a2b-8484-8d18bc9bdff5".device = "/dev/disk/by-uuid/ad0e2f90-490d-4a2b-8484-8d18bc9bdff5";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D1A5-9B92";
{ device = "/dev/disk/by-uuid/0AEC-87AF";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/2d69abc2-3d44-481b-ada8-b436c2b9c8c2"; }
[ { device = "/dev/disk/by-uuid/18a2707c-9fe0-4dc4-a15f-6908cc34f26e"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@ -33,9 +37,9 @@
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wwp0s20f0u2c2.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -9,6 +9,7 @@
++ [ (import ./network.nix) ]
++ [ (import ./pipewire.nix) ]
++ [ (import ./program.nix) ]
++ [ (import ./plymouth.nix) ]
++ [ (import ./sshd.nix) ]
++ [ (import ./security.nix) ]
++ [ (import ./services.nix) ]
@ -16,6 +17,5 @@
++ [ (import ./user.nix) ]
++ [ (import ./bluetooth.nix) ]
++ [ (import ./yubikey.nix) ]
# ++ [ (import ./steam.nix) ]
++ [ (import ./wayland.nix) ];
}

View file

@ -1,20 +1,13 @@
{ pkgs, ... }:
{ pkgs, ... }:
{
networking = {
networkmanager.enable = true;
nameservers = [ "9.9.9.9" ];
firewall = {
enable = true;
# allowedTCPPorts = [ 22 80 443 59010 59011 ];
# allowedUDPPorts = [ 59010 59011 ];
# allowedUDPPortRanges = [
# { from = 4000; to = 4007; }
# { from = 8000; to = 8010; }
# ];
};
};
# environment.systemPackages = with pkgs; [
# networkmanagerapplet
# ];
services = {
avahi.enable = false;
};
}

40
modules/core/plymouth.nix Normal file
View file

@ -0,0 +1,40 @@
{
pkgs,
lib,
...
}:
{
# TODO: add https://github.com/FraioVeio/plymouth-xp-theme
boot = {
plymouth = {
enable = lib.mkDefault true;
theme = "lone";
themePackages = with pkgs; [
# By default we would install all themes
(adi1090x-plymouth-themes.override {
selected_themes = [ "lone" ];
# selected_themes = [ "sliced" ];
# selected_themes = [ "rings" ];
# selected_themes = [ "red_loader" ];
# selected_themes = [ "dna" ];
# selected_themes = [ "hexagon_dots" ];
})
];
};
# Enable "Silent boot"
consoleLogLevel = 3;
initrd.verbose = false;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
loader.timeout = 1;
};
}

View file

@ -14,9 +14,11 @@
networking.firewall.allowedTCPPorts = config.services.openssh.ports;
users.users.liv.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # main laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # main phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # 2nd laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # sakura
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # ichiyo
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDltZ7vfyrLrl32TIWCC3iUx40TrCtIz6Ssi/SZvikg liv@zinnia" # zinnia
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mHVQp99G0osUAtnVoq5TARR8x5wjCkdbe7ChnzLRa liv@azalea" # linux phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # xz1c
];
}

View file

@ -1,9 +0,0 @@
{ ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
}

View file

@ -1,12 +1,20 @@
{ self, pkgs, lib, inputs, ...}:
{
# imports = [ inputs.nix-gaming.nixosModules.default ];
self,
pkgs,
lib,
inputs,
...
}:
{
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
substituters = [ "https://nix-gaming.cachix.org" ];
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
experimental-features = [
"nix-command"
"flakes"
];
# substituters = [ "" ];
# trusted-public-keys = [ "" ];
};
gc = {
automatic = true;
@ -41,7 +49,7 @@
"en_US.UTF-8/UTF-8"
"ja_JP.UTF-8/UTF-8"
];
# Font packages
environment.systemPackages = with pkgs; [
noto-fonts-cjk-sans

View file

@ -17,9 +17,7 @@
extraSpecialArgs = { inherit inputs username host; };
users.${username} = {
imports =
if (host == "desktop") then
[ ./../home/default.desktop.nix ]
else if (host == "violet") then
if (host == "violet") then
[ ./../home/default.server.nix ]
else if (host == "dandelion") then
[ ./../home/default.server.nix ]

View file

@ -1,5 +0,0 @@
{ ...}: {
imports =
[(import ./default.nix)]
++ [ (import ./steam.nix) ];
}

View file

@ -1,10 +0,0 @@
{ pkgs, config, inputs, ... }:
{
home.packages = with pkgs;[
## Utils
# gamemode
# gamescope
# winetricks
# inputs.nix-gaming.packages.${pkgs.system}.wine-ge
];
}

View file

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, host, ... }:
{
fonts.fontconfig.enable = true;
home.packages = [
@ -58,7 +58,14 @@
source = "~/nixos-config/modules/home/hyprland/displays.conf";
"debug:disable_scale_checks" = true;
monitor = "eDP-1, 2256x1504@60, 0x0, 1.5";
# monitor = "eDP-1, 2256x1504@60, 0x0, 1.5";
monitor =
if (host == "sakura") then
"eDP-1, 2256x1504@60, 0x0, 1.5"
else if (host == "zinnia") then
"eDP-1, 1920x1080@60, 0x0, 1.0"
else
", preferred, auto, 1";
# autostart
exec-once = [

View file

@ -12,7 +12,7 @@
settings = {
confirm_os_window_close = 0;
background_opacity = "0.75";
background_opacity = "0.25";
window_padding_width = 10;
scrollback_lines = 10000;
enable_audio_bell = false;

View file

@ -62,6 +62,13 @@
android-tools
sshpass
# Install pip packages
# python3
# python3Packages.pip
# (writeShellScriptBin "install-pip-packages" '' # This script does not run, yet.
# pip install --user --break-system-packages <package>
# '')
# GUI shit
element-desktop
gajim

View file

@ -1,20 +0,0 @@
{ pkgs, lib, ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = false;
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-runtime"
];
# proton-ge-bin
# warning: The package proton-ge in nix-gaming has been deprecated as of 2024-03-17.
# You should use proton-ge-bin from Nixpkgs, which conforms to
# the new `extraCompatTools` module option under `programs.steam`
# For details, see the relevant pull request:
}

View file

@ -23,8 +23,8 @@
"/home/${username}/.config/waybar/config" = {
text = ''
[{
"layer": "top",
"position": "top",
"layer": "bottom",
"position": "bottom",
"modules-left": [
"privacy",
@ -377,9 +377,9 @@
/* margin: 0 0px; */
}
window#waybar.top {
window#waybar.bottom {
/* background-color: rgba(115, 116, 116, 0.22); */
background-color: rgba(0, 0, 0, 0.75);
background-color: rgba(0, 0, 0, 0.25);
border-bottom: none;
color: #eeeeee;
transition-property: background-color;
@ -387,7 +387,7 @@
}
window#waybar.hidden {
opacity: 0.5;
opacity: 0.25;
}
label#window {

View file

@ -7,7 +7,6 @@
}:
{
programs = {
command-not-found.enable = true;
zsh = {
enable = true;
autocd = true;
@ -110,6 +109,20 @@
printf "%s\n" "''${url}"
}
function nixcd () {
PACKAGE_NAME="$1"
if [[ "$PACKAGE_NAME" = "" ]]; then
echo "Usage: nixcd <package name>"
fi
PKGINSTORE="$(NIXPKGS_ALLOW_UNFREE=1 nix path-info nixpkgs#$PACKAGE_NAME --impure)"
if [[ -d "$PKGINSTORE" ]]; then
cd $PKGINSTORE
else
echo "Could not find path for package: $PKGINSTORE"
return 1
fi
}
export export PATH="''${PATH}:''${HOME}/.local/bin/:''${HOME}/.cargo/bin/:''${HOME}/.fzf/bin/"
# if [[ $(which sxiv&>/dev/null && echo 1) == "1" ]]; then
@ -134,6 +147,7 @@
gcm = "git commit -m";
gph = "git push -u origin main";
g = "git";
gp = "git pull";
calc = "eva";
wikipedia = "wikit";

View file

@ -2,8 +2,8 @@
{
imports =
[ (import ./docker.nix) ]
++ [ (import ./immich.nix) ]
++ [ (import ./nextcloud.nix) ]
# ++ [ (import ./immich.nix) ]
# ++ [ (import ./nextcloud.nix) ]
++ [ (import ./home-assistant.nix) ]
++ [ (import ./monitoring.nix) ]
++ [ (import ./smart-monitoring.nix) ]