mirror of
https://github.com/blahai/nyx.git
synced 2025-02-22 22:25:09 +00:00
yeet theia and quickshell
This commit is contained in:
parent
31628af7c6
commit
fde31a4f1b
13 changed files with 60 additions and 608 deletions
113
flake.lock
generated
113
flake.lock
generated
|
@ -96,28 +96,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deploy-rs": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727447169,
|
|
||||||
"narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=",
|
|
||||||
"owner": "serokell",
|
|
||||||
"repo": "deploy-rs",
|
|
||||||
"rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "serokell",
|
|
||||||
"repo": "deploy-rs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -184,22 +162,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696426674,
|
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
@ -213,7 +175,7 @@
|
||||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_3": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1696426674,
|
||||||
|
@ -229,7 +191,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_4": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
|
@ -304,7 +266,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
|
@ -322,7 +284,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
|
@ -340,7 +302,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_6"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
|
@ -618,7 +580,7 @@
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems_5",
|
"systems": "systems_4",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -1119,7 +1081,7 @@
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
|
@ -1188,7 +1150,7 @@
|
||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_2",
|
||||||
"gitignore": "gitignore_2",
|
"gitignore": "gitignore_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
|
@ -1209,32 +1171,11 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"quickshell": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs-smol"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1737892627,
|
|
||||||
"narHash": "sha256-Ax7XTB7rG6vKocFcfg2EE/RhB+iwnvQW2EYN1Aj7UL4=",
|
|
||||||
"ref": "refs/heads/master",
|
|
||||||
"rev": "4f2610dece8b1b5f1d24b4d046a2bfbe2f2e2cc6",
|
|
||||||
"revCount": 476,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ags": "ags",
|
"ags": "ags",
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"chaotic": "chaotic",
|
"chaotic": "chaotic",
|
||||||
"deploy-rs": "deploy-rs",
|
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"haivim": "haivim",
|
"haivim": "haivim",
|
||||||
"home-manager": "home-manager_3",
|
"home-manager": "home-manager_3",
|
||||||
|
@ -1242,7 +1183,6 @@
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-smol": "nixpkgs-smol",
|
"nixpkgs-smol": "nixpkgs-smol",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"quickshell": "quickshell",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"wezterm": "wezterm",
|
"wezterm": "wezterm",
|
||||||
|
@ -1309,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"spicetify-nix": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -1374,21 +1314,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
"systems_4": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_5": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
@ -1403,7 +1328,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_6": {
|
"systems_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
@ -1461,24 +1386,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701680307,
|
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"wezterm": {
|
"wezterm": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
|
|
37
flake.nix
37
flake.nix
|
@ -2,21 +2,6 @@
|
||||||
description = "Elissa's funny little flake";
|
description = "Elissa's funny little flake";
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-substituters = [
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://nixpkgs-unfree.cachix.org"
|
|
||||||
"https://hyprland.cachix.org"
|
|
||||||
"https://anyrun.cachix.org"
|
|
||||||
"https://wezterm.cachix.org"
|
|
||||||
];
|
|
||||||
extra-trusted-public-keys = [
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
||||||
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
|
||||||
"wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="
|
|
||||||
];
|
|
||||||
|
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,16 +16,6 @@
|
||||||
inputs = {nixpkgs.follows = "nixpkgs";};
|
inputs = {nixpkgs.follows = "nixpkgs";};
|
||||||
};
|
};
|
||||||
|
|
||||||
deploy-rs = {
|
|
||||||
url = "github:serokell/deploy-rs";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
quickshell = {
|
|
||||||
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs-smol";
|
|
||||||
};
|
|
||||||
|
|
||||||
ags = {
|
ags = {
|
||||||
url = "github:Aylur/ags/v1";
|
url = "github:Aylur/ags/v1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -100,18 +75,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# helios = nixpkgs.lib.nixosSystem {
|
|
||||||
# modules = [
|
|
||||||
# ./hosts/helios/configuration.nix
|
|
||||||
# # inputs.home-manager.nixosModules.default
|
|
||||||
# chaotic.nixosModules.default
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
theia = nixpkgs.lib.nixosSystem {
|
|
||||||
modules = [./hosts/theia/configuration.nix disko.nixosModules.disko];
|
|
||||||
};
|
|
||||||
|
|
||||||
epimetheus = nixpkgs.lib.nixosSystem {
|
epimetheus = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
|
|
@ -100,14 +100,12 @@
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Elissa";
|
description = "Elissa";
|
||||||
extraGroups = ["networkmanager" "wheel" "input" "render"];
|
extraGroups = ["networkmanager" "wheel" "input" "render"];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.bash;
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
floorp
|
floorp
|
||||||
vesktop
|
vesktop
|
||||||
equibop
|
equibop
|
||||||
element-desktop
|
element-desktop
|
||||||
alacritty
|
|
||||||
kitty
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -185,6 +183,7 @@
|
||||||
keep-going = true;
|
keep-going = true;
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
use-xdg-base-directories = true;
|
use-xdg-base-directories = true;
|
||||||
|
allowed-users = ["@wheel" "pingu" "root"];
|
||||||
trusted-users = ["@wheel" "pingu" "root"];
|
trusted-users = ["@wheel" "pingu" "root"];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
|
@ -220,6 +219,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
|
toybox
|
||||||
nautilus
|
nautilus
|
||||||
nautilus-python
|
nautilus-python
|
||||||
diff-so-fancy
|
diff-so-fancy
|
||||||
|
|
|
@ -1,323 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
modulesPath,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
initrd.availableKernelModules = [
|
|
||||||
"ata_piix"
|
|
||||||
"uhci_hcd"
|
|
||||||
"virtio_pci"
|
|
||||||
"virtio_scsi"
|
|
||||||
"ahci"
|
|
||||||
"sd_mod"
|
|
||||||
"sr_mod"
|
|
||||||
"virtio_blk"
|
|
||||||
];
|
|
||||||
initrd.kernelModules = [];
|
|
||||||
kernelPackages = pkgs.linuxPackages_6_12;
|
|
||||||
kernelModules = ["kvm-amd"];
|
|
||||||
kernel = {
|
|
||||||
sysctl = {
|
|
||||||
"vm.max_map_count" = 2147483642;
|
|
||||||
"vm.swappiness" = 200;
|
|
||||||
"vm.watermark_boost_factor" = 0;
|
|
||||||
"vm.watermark_scale_factor" = 125;
|
|
||||||
"vm.page-cluster" = 0;
|
|
||||||
"net.ipv4.ip_forward" = 1;
|
|
||||||
"net.ipv6.conf.all.forwarding" = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraModulePackages = [];
|
|
||||||
loader.grub = {
|
|
||||||
enable = true;
|
|
||||||
device = "/dev/vda";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
package = pkgs.lix;
|
|
||||||
settings = {
|
|
||||||
experimental-features = ["nix-command" "flakes"];
|
|
||||||
auto-optimise-store = true;
|
|
||||||
sandbox = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zramSwap = {
|
|
||||||
enable = true;
|
|
||||||
algorithm = "zstd";
|
|
||||||
memoryPercent = 50;
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/09e65ff9-2195-41d8-b6a4-671c306742c3";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/FED3-A372";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{
|
|
||||||
device = "/var/lib/swapfile";
|
|
||||||
size = 16 * 1024;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
enableIPv6 = false; # Had to disable for now due to problems with resolving
|
|
||||||
firewall = {
|
|
||||||
allowedTCPPorts = [
|
|
||||||
80 # HTTP
|
|
||||||
443 # HTTPS
|
|
||||||
222 # git over ssh
|
|
||||||
25565 # minecraft
|
|
||||||
25566 # minecraft
|
|
||||||
];
|
|
||||||
allowedUDPPorts = [
|
|
||||||
25565 # minecraft
|
|
||||||
25566 # minecraft
|
|
||||||
];
|
|
||||||
};
|
|
||||||
hostName = "theia";
|
|
||||||
nameservers = ["1.1.1.1" "8.8.8.8" "9.9.9.9"];
|
|
||||||
domain = "theia.blahai.gay";
|
|
||||||
useDHCP = lib.mkDefault false;
|
|
||||||
defaultGateway = {
|
|
||||||
address = "178.63.247.183";
|
|
||||||
interface = "ens3";
|
|
||||||
};
|
|
||||||
|
|
||||||
interfaces = {
|
|
||||||
ens3 = {
|
|
||||||
ipv4 = {
|
|
||||||
addresses = [
|
|
||||||
{
|
|
||||||
address = "178.63.118.252";
|
|
||||||
prefixLength = 32;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
routes = [
|
|
||||||
{
|
|
||||||
address = "178.63.247.183";
|
|
||||||
prefixLength = 32;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
tailscale = {
|
|
||||||
enable = true;
|
|
||||||
useRoutingFeatures = "server";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networkd-dispatcher = {
|
|
||||||
enable = true;
|
|
||||||
rules."50-tailscale" = {
|
|
||||||
onState = ["routable"];
|
|
||||||
script = ''
|
|
||||||
${
|
|
||||||
lib.getExe pkgs.ethtool
|
|
||||||
} -K ens3 rx-udp-gro-forwarding on rx-gro-list off
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
earlyoom = {
|
|
||||||
enable = true;
|
|
||||||
extraArgs = let
|
|
||||||
avoid = lib.concatStringsSep "|" [
|
|
||||||
"cryptsetup"
|
|
||||||
"dbus-.*"
|
|
||||||
"gpg-agent"
|
|
||||||
"ssh-agent"
|
|
||||||
"sshd"
|
|
||||||
"systemd"
|
|
||||||
"systemd-.*"
|
|
||||||
"bash"
|
|
||||||
"fish"
|
|
||||||
"n?vim"
|
|
||||||
];
|
|
||||||
prefer =
|
|
||||||
lib.concatStringsSep "|" ["dotnet" "java.*" "nix" "npm" "node"];
|
|
||||||
in [
|
|
||||||
"-g"
|
|
||||||
"--avoid '(^|/)(${avoid})'" # things that we want to avoid killing
|
|
||||||
"--prefer '(^|/)(${prefer})'" # things we want to remove fast
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
caddy = {
|
|
||||||
enable = true;
|
|
||||||
virtualHosts = {
|
|
||||||
"git.blahai.gay" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy localhost:3000
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
"vault.blahai.gay" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy localhost:8222 {
|
|
||||||
header_up X-Real-IP {remote_host}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
"search.blahai.gay" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy localhost:8888
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
"kuma.blahai.gay" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy localhost:3001
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
uptime-kuma = {
|
|
||||||
enable = true;
|
|
||||||
settings = {PORT = "3001";};
|
|
||||||
};
|
|
||||||
|
|
||||||
forgejo = {
|
|
||||||
package = pkgs.forgejo;
|
|
||||||
enable = true;
|
|
||||||
lfs.enable = true;
|
|
||||||
settings = {
|
|
||||||
"ui.meta" = {
|
|
||||||
AUTHOR = "Elissa";
|
|
||||||
DESCRIPTION = "My own selfhosted git place for random stuff :3";
|
|
||||||
};
|
|
||||||
DEFAULT.APP_NAME = "githai";
|
|
||||||
federation.ENABLED = true;
|
|
||||||
service.DISABLE_REGISTRATION = true;
|
|
||||||
actions = {
|
|
||||||
ENABLED = true;
|
|
||||||
DEFAULT_ACTIONS_URL = "github";
|
|
||||||
};
|
|
||||||
server = {
|
|
||||||
ROOT_URL = "https://git.blahai.gay";
|
|
||||||
DOMAIN = "git.blahai.gay";
|
|
||||||
SSH_PORT = 22;
|
|
||||||
SSH_LISTEN_PORT = 22;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
vaultwarden = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
DOMAIN = "https://vault.blahai.gay";
|
|
||||||
ROCKET_PORT = 8222;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
searx = {
|
|
||||||
enable = true;
|
|
||||||
redisCreateLocally = true;
|
|
||||||
settings = {
|
|
||||||
use_default_settings = true;
|
|
||||||
server = {
|
|
||||||
port = 8888;
|
|
||||||
secret_key = "7360d3df7c08ce681cf6d5122e3e182de2c5205e962766abd3e6dfc8dec1b683";
|
|
||||||
};
|
|
||||||
ui = {infinite_scroll = true;};
|
|
||||||
|
|
||||||
general = {
|
|
||||||
instance_name = "searchai";
|
|
||||||
debug = false;
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
safe_search = 0;
|
|
||||||
autocomplete = "google";
|
|
||||||
default_lang = "en";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
settings = {PasswordAuthentication = false;};
|
|
||||||
};
|
|
||||||
|
|
||||||
fail2ban = {
|
|
||||||
enable = true;
|
|
||||||
maxretry = 5;
|
|
||||||
bantime = "24h"; # Ban IPs for one day on the first ban
|
|
||||||
bantime-increment = {
|
|
||||||
enable = true; # Enable increment of bantime after each violation
|
|
||||||
overalljails = true; # Calculate the bantime based on all the violations
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {nix-ld.enable = true;};
|
|
||||||
|
|
||||||
users.users.root = {
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
|
|
||||||
];
|
|
||||||
initialHashedPassword = "$y$j9T$TzqbL4iMGLjli6EEXfRCZ0$AhFJ4iCFxRlstth5owic3M5nq74Sp1qhtctjSBcgAl8";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.pingu = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = ["wheel"];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
|
|
||||||
];
|
|
||||||
initialHashedPassword = "$y$j9T$cxwKGmzYyC1eLeIysr8r/.$dsxxxV4NvXY.Wpd9LO.RiuMQuy2lYyy2HGrk52BJX08";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.minecraft = {
|
|
||||||
isNormalUser = true;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu" # nyx
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD" # laptop
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDbAlKwToOiUT6zA6qdgETTuJVRFeSjkBJWLzUWLLAtQZnPJ4gWZMxcHbkoPryY6L5DnibmqliLnAw2cjaREJw3BJ8Di0W1UdSZqZZejipjkfBBDLadckkv6WTskShyCtN/Mum8hkBMbGFrWXSM+8MPEj6pS8WgRnrHjDR27tIyUkP+f6n2B7g8z34o26jmKkIC+cLV5D3IhRhVpi49oPqrI59aWWw6ikOSITdLfdIuNxmlgD9cVhWnVohPp2hfoYF5VwIpWYUwL1zkQdiBvCXKT35DqQLy/jKcHegVHk5ZLeaZlaZ7dyiu5xnQUuTgg6m9r1VW+E3XHuRNp33SMhkGs/LVJWtx0fAEzlQDfQQl9SE2k6XXffZYSeOgFO8hYatGrfZ2Dx4yeacFnckitJglyq8SjIn5lUB4UN/48iD6v1thf0LyOy279LKsbmL90nNrRHP7ByFOTwAb1IsGMARAGeMLZfyvaOOSSfRfm0NqCpi1CV9vX5qwG3w34ifirDs=" # slogo laptop
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAu9nk21JNaOTGBeUw3AOF0uA0ErcMf/2hvjUASXuPcBf9gI7huy0RXPvWO7JiOUorYdqMo9zB792tso4+o0RMYoAKC1A+AP0L1w8uKs4KdhbWsduEZhT3Nmp4OSFhi+Ycv2ZK6MQ52k9OVAbjT2xzyE7GSZHTPFVszr03bpeFkgDE/9K7px6r/KPKrXOn7DMRbgXkyjkOOhB8cCGW8VbJDVwz1/M3p1gfIQDZIcGvt5b6CjcuOyfYPORlcVUdRNVLxdHio4YLjKu6w2M74tVaEvRBb5fl+OTztDyENyEiGo2Pr5xYew5oIuVG4+pZZUpjxOPB+uWr8tPct/kuq/hxqJ5byrsv+bW4CNWlRxKiHC0SLtIlkEXKbCIs0IvEjbFv3tS+wSCU9qdb39yZUXknc09GUmd8ZNfsmPNAg4+1irTfSy7R24Wi76B/dEMyb6TUKm1zUfRRnTCTngr7WZAn/UcPDvwUduJu64h99TRWOtU9T2ih33xkfk3zCJpME5s=" # slogo desktop
|
|
||||||
];
|
|
||||||
packages = with pkgs; [
|
|
||||||
openjdk21
|
|
||||||
openjdk17
|
|
||||||
screen
|
|
||||||
];
|
|
||||||
initialHashedPassword = "$y$j9T$KpQYYLB6eWfHAUo9.o/uy1$gnj/UlWLrx5XBZDm2GNdjHs2G5D3XxxqqtrCIf5MX43";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
git
|
|
||||||
curl
|
|
||||||
bat
|
|
||||||
neovim
|
|
||||||
btop
|
|
||||||
zip
|
|
||||||
jq
|
|
||||||
busybox
|
|
||||||
fish
|
|
||||||
ethtool
|
|
||||||
networkd-dispatcher
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
{lib, ...}: {
|
|
||||||
disko.devices = {
|
|
||||||
disk.disk1 = {
|
|
||||||
device = lib.mkDefault "/dev/vda";
|
|
||||||
type = "disk";
|
|
||||||
content = {
|
|
||||||
type = "gpt";
|
|
||||||
partitions = {
|
|
||||||
boot = {
|
|
||||||
name = "boot";
|
|
||||||
size = "1M";
|
|
||||||
type = "EF02";
|
|
||||||
};
|
|
||||||
esp = {
|
|
||||||
name = "ESP";
|
|
||||||
size = "500M";
|
|
||||||
type = "EF00";
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "vfat";
|
|
||||||
mountpoint = "/boot";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
root = {
|
|
||||||
name = "root";
|
|
||||||
size = "100%";
|
|
||||||
content = {
|
|
||||||
type = "lvm_pv";
|
|
||||||
vg = "pool";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lvm_vg = {
|
|
||||||
pool = {
|
|
||||||
type = "lvm_vg";
|
|
||||||
lvs = {
|
|
||||||
root = {
|
|
||||||
size = "100%FREE";
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "ext4";
|
|
||||||
mountpoint = "/";
|
|
||||||
mountOptions = [
|
|
||||||
"defaults"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -3,7 +3,6 @@
|
||||||
./cli/default.nix
|
./cli/default.nix
|
||||||
./hypr/default.nix
|
./hypr/default.nix
|
||||||
./ags/default.nix
|
./ags/default.nix
|
||||||
./quickshell/default.nix
|
|
||||||
./spotify/default.nix
|
./spotify/default.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"${pkgs.swww}/bin/swww-daemon --format xrgb"
|
"${pkgs.swww}/bin/swww-daemon --format xrgb"
|
||||||
"${pkgs.floorp}/bin/floorp"
|
"${pkgs.floorp}/bin/floorp"
|
||||||
"sleep 1; ${pkgs.vesktop}/bin/vesktop --ozone-platform-hint=auto --enable-blink-features=MiddleClickAutoscroll --enable-wayland-ime=true"
|
"${pkgs.qbittorrent}/bin/qbittorrent"
|
||||||
|
"${pkgs.vesktop}/bin/vesktop --ozone-platform-hint=auto --enable-blink-features=MiddleClickAutoscroll --enable-wayland-ime=true"
|
||||||
"wl-paste --type text --watch cliphist store"
|
"wl-paste --type text --watch cliphist store"
|
||||||
"wl-paste --type image --watch cliphist store"
|
"wl-paste --type image --watch cliphist store"
|
||||||
"JKPS"
|
"JKPS"
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
bindm = ["Super, mouse:272, movewindow" "Super, mouse:273, resizewindow"];
|
bindm = ["Super, mouse:272, movewindow" "Super, mouse:273, resizewindow"];
|
||||||
|
|
||||||
bindn = [" , up, pass, JKPS"];
|
bindn = [" , up, pass, class:^(JKPS)$"];
|
||||||
|
|
||||||
binde = [
|
binde = [
|
||||||
# Window split ratio
|
# Window split ratio
|
||||||
|
|
|
@ -1,19 +1,14 @@
|
||||||
{
|
{...}: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
workspace = [
|
workspace = [
|
||||||
"special:special, on-created-empty:exec spotify"
|
"special:special, on-created-empty:exec spotify --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime=true"
|
||||||
];
|
];
|
||||||
|
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"noblur,.*"
|
"noblur,.*"
|
||||||
"workspace special, spotify"
|
"workspace special, spotify"
|
||||||
"workspace 11 silent, JKPS"
|
"workspace 11 silent, JKPS"
|
||||||
|
"workspace 10 silent, ^(org.qbittorrent.qBittorrent)$"
|
||||||
"workspace 8 silent, Element"
|
"workspace 8 silent, Element"
|
||||||
"workspace 6 silent, firefox"
|
"workspace 6 silent, firefox"
|
||||||
"workspace 5 silent, ^(org.prismlauncher.PrismLauncher)$"
|
"workspace 5 silent, ^(org.prismlauncher.PrismLauncher)$"
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
(inputs.quickshell.packages.${pkgs.system}.default.override
|
|
||||||
{
|
|
||||||
withJemalloc = true;
|
|
||||||
withQtSvg = true;
|
|
||||||
withWayland = true;
|
|
||||||
withX11 = false;
|
|
||||||
withPipewire = true;
|
|
||||||
withPam = true;
|
|
||||||
withHyprland = true;
|
|
||||||
withI3 = false;
|
|
||||||
})
|
|
||||||
swww
|
|
||||||
fd
|
|
||||||
wl-clipboard
|
|
||||||
cliphist
|
|
||||||
brightnessctl
|
|
||||||
slurp
|
|
||||||
pwvucontrol
|
|
||||||
libnotify
|
|
||||||
|
|
||||||
kdePackages.full
|
|
||||||
kdePackages.qtdeclarative
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +1,44 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
services.jellyfin = {
|
services = {
|
||||||
|
jellyfin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
dataDir = "/mnt/zootfs/Media/jellyfin";
|
dataDir = "/mnt/zootfs/Media/jellyfin";
|
||||||
|
package = pkgs.jellyfin;
|
||||||
|
user = "jellyfin";
|
||||||
|
group = "jellyfin";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jellyseerr = {
|
||||||
|
enable = true;
|
||||||
|
port = 5055;
|
||||||
|
openFirewall = true;
|
||||||
|
package = pkgs.jellyseerr;
|
||||||
|
};
|
||||||
|
|
||||||
|
sonarr = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
dataDir = "/mnt/zootfs/Media/sonarr";
|
||||||
|
package = pkgs.sonarr;
|
||||||
|
user = "jellyfin";
|
||||||
|
group = "jellyfin";
|
||||||
|
};
|
||||||
|
|
||||||
|
prowlarr = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
package = pkgs.prowlarr;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# This bullshittery is cuz sonarr v4 still uses
|
||||||
|
# dotnet 6 which is LTS and is marked broken in
|
||||||
|
# nixpkgs but they are moving to 8 in v5 which
|
||||||
|
# will happen eventually (not anytime soon?)
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"aspnetcore-runtime-6.0.36"
|
||||||
|
"aspnetcore-runtime-wrapped-6.0.36"
|
||||||
|
"dotnet-sdk-6.0.428"
|
||||||
|
"dotnet-sdk-wrapped-6.0.428"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [inputs.sops-nix.nixosModules.sops];
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ./secrets.yaml;
|
|
||||||
defaultSopsFormat = "yaml";
|
|
||||||
age.keyFile = "/home/pingu/.config/sops/age/keys.txt";
|
|
||||||
|
|
||||||
secrets = {
|
|
||||||
searx = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
cloudflared:
|
|
||||||
nyx:
|
|
||||||
token: ENC[AES256_GCM,data:UnxScVl7WHLvdiRkcdyaCcIZR04IdIABVni2QY4vf8nfB87L1NP0sswIdKjo8Yt+nSyJKeLDec8iO1R0logISEMnXSTZXnXnTXx73HsPfXN0szzhDeQL1GliqrIUWfGThuL59MDcfTGlP01z2pR55CWOSLyNNYihYCeVstPlNwN5WLDwXRoMFQcciAloWSkK1S7cIotpkTm9nJYz5dEHv8LDTcXaH5LMzblSElMizjFy/1tqyj4kHg==,iv:nHvg9PvnRaDIbVfymz6gzZtXn+y3lG4MpEY3GhJzDyg=,tag:Q1G9DoxeeOlE4ESI7f08sw==,type:str]
|
|
||||||
searx: ENC[AES256_GCM,data:hiXF//Xz0FEQ8cfaaWTeDWwgqflAFjFd6Mxxj5dQrvLOmWwa5BsAHnPZEhlLtH8r//ZnDZDfpyIx+hvkqOzvuQ==,iv:rIguplTqxLrVikDljLW5wM13+Z4Amn1zTuvUNedI7ck=,tag:RKGmhEo+BYqhhWwxqYgSMA==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age15lv6n403mscyyrfe9a059n5064ncse66taw89mpcf6ut55zfsq0qfh5n02
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVMEMzRGdiQTNXMzFoRi95
|
|
||||||
QlZ0UTRmQ3JyQktYbzJ2cWxaakhKZzFmaXc4CmRYK1VaamowbnZvTU4yN3ZHTTgx
|
|
||||||
M1MxMGFSTFl0b1VydnVaZ3RzeUZGYzAKLS0tIGJqRGpSdDVRQzhxZFo5UUhGZWtS
|
|
||||||
dERTMHFTUHBXNkczcVcrb0lTVXdTcDQKcgynRtVEs27vbtstdYj323Jn85U8o5Fd
|
|
||||||
fxGFj88mpFaipMU9IT9xXjzJhqKOmKqOVVw/M8tD8oEh8Chtj8y3PQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-11-12T17:59:51Z"
|
|
||||||
mac: ENC[AES256_GCM,data:MTFQsm/4srshP8cPD5L2GqXc+1Y8u2IwQH/BS/LVT6buN7iGWhssbZjjDLQ2bmgvYygtzpRwv8F54Fjy0BrcoYL6BET1fi4IG1HcFFk2orV3+A9x6/5NLdfkD9sxW4vZn216jWxqAZGArAN4cd5ELmormHPajO5qdNfCpM2F0mE=,iv:Y6bPgMYeYwfP/4+idlmIpSD7/pJF07AkE5vmqxg1xx8=,tag:rLf+vVAU8vyBIIUjPphijQ==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.1
|
|
Loading…
Add table
Reference in a new issue