This commit is contained in:
♥ Minnie ♥ 2024-09-20 20:24:55 +08:00
parent 1206380efd
commit 7203fc1ed9
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
51 changed files with 175 additions and 108 deletions

View file

@ -1,14 +1,10 @@
{pkgs, ...}: { {...}: {
imports = [ imports = [
./git.nix ./git.nix
./nvim.nix ./nvim.nix
./zsh.nix ./zsh.nix
]; ];
home.packages = with pkgs; [
lazygit
];
programs.ssh = { programs.ssh = {
enable = true; enable = true;
matchBlocks."viridian" = { matchBlocks."viridian" = {

View file

@ -1,8 +1,4 @@
{pkgs, ...}: { {...}: {
home.packages = with pkgs; [
lazygit
];
programs.git = { programs.git = {
enable = true; enable = true;
userName = "jasmine"; userName = "jasmine";

View file

@ -5,19 +5,19 @@
}: { }: {
imports = [ imports = [
./discord ./discord
./dunst
./email
./irc
./mpd
./picom
./rofi ./rofi
./wezterm ./wezterm
./email.nix
./irc.nix
./mpd.nix
./picom.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
feh feh
xmobar xmobar # custom build using xmobar-config
xmonad xmonad # custom build using xmonad-config
]; ];
home.file = { home.file = {

View file

@ -0,0 +1,31 @@
{...}: {
services.dunst = {
enable = true;
settings = {
global = {
width = 300;
height = 300;
origin = "top-right";
offset = "20x20";
frame_width = 5;
frame_color = "#282828";
corner_radius = 10;
};
urgency_low = {
background = "#1d2021";
foreground = "#d4be98";
};
urgency_normal = {
background = "#1d2021";
foreground = "#d4be98";
};
urgency_critical = {
background = "#1d2021";
foreground = "#d4be98";
};
};
};
}

View file

@ -1,5 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = with pkgs.unstable; [ home.packages = with pkgs; [
wezterm wezterm
]; ];

View file

@ -6,6 +6,9 @@ xrandr --output HDMI-A-0 --mode 1920x1080 --output DisplayPort-0 --mode 2560x144
# Apply our wallpaper # Apply our wallpaper
feh --bg-center ~/.repositories/dotfiles.nix/assets/chinatown.png feh --bg-center ~/.repositories/dotfiles.nix/assets/chinatown.png
# Start our notification daemon
dunst &
# Enable our compositor # Enable our compositor
picom -b picom -b

View file

@ -1,6 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./mangohud.nix ./mangohud
]; ];
home = { home = {

View file

@ -1,11 +1,11 @@
{pkgs, ...}: { {pkgs, ...}: {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
blender unstable.blender
freecad freecad # https://discourse.nixos.org/t/error-hash-mismatch-in-fixed-output-derivation/52353
kicad unstable.kicad
openscad unstable.openscad
unstable.prusa-slicer prusa-slicer # Some error idk fix this later
]; ];
}; };
} }

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 KTkZog kwtoXue2ljAqDtAytalA3SPoVfzGmnB7dkyKOTKr1jI
NtMmHhdpuCcsfeq2IyUmMBgyKid8qn+y3DPh0ykGq0c
-> b#-grease NK 6\>t2sl 1OA
ythv/6KoFWwpe2Wpj9MKcdhtdlq43V+lEiG2QF6gE1rj+k38jev00MuQUHfTS9bw
Xc6ZydroPWPjqnQkvN4u4kzf4X8
--- /HrB0xueHcV6Vc3dOdMaGnkMBFIwHSd7E0W2QPVTsKM
ùÖ{^?{miÑ…ýÑ9<C391>Y墓ÊHYr¢7º§ÌT=”ÿ*0wð)î1C°+ÓÖ

View file

@ -2,15 +2,23 @@
imports = [ imports = [
# Global configuartion for all our systems # Global configuartion for all our systems
../common/global ../common/global
# Our user configuration and optional user units # Our user configuration and optional user units
../common/users/sajenim ../common/users/sajenim
../common/users/sajenim/samba ../common/users/sajenim/samba
../common/users/sajenim/steam ../common/users/sajenim/steam
# Optional components # Optional components
../common/optional/key.nix ../common/optional/yubikey.nix
# Programs and services
./programs # Services
./services ./services/amdgpu-clocks
./services/flatpak
./services/libinput
./services/printers
./services/udev
./services/xserver
# Setup our hardware # Setup our hardware
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -21,7 +29,22 @@
networkmanager.enable = true; networkmanager.enable = true;
}; };
# Use docker instead of podman for our containers. # Configure programs
programs = {
zsh.enable = true;
# Load and unload environment variables.
direnv.enable = true;
# Android debug bridge: communicate with devices.
adb.enable = true;
};
# Configure services
services = {
# Access smart cards using SCard API
pcscd.enable = true;
};
# Manage linux containers
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
liveRestore = false; liveRestore = false;

View file

@ -1,9 +0,0 @@
{...}: {
programs = {
zsh.enable = true;
# Load and unload environment variables.
direnv.enable = true;
# Android debug bridge: communicate with devices.
adb.enable = true;
};
}

View file

@ -1,15 +0,0 @@
{...}: {
imports = [
./printer
./amdgpu-clocks.nix
./flatpak.nix
./libinput.nix
./udev.nix
./xserver.nix
];
# Enable a few extra services.
services = {
pcscd.enable = true;
};
}

View file

@ -2,13 +2,37 @@
imports = [ imports = [
# Global configuration for all our systems # Global configuration for all our systems
../common/global ../common/global
# Our user configuration and optional user units # Our user configuration and optional user units
../common/users/sajenim ../common/users/sajenim
../common/users/spectre ../common/users/spectre
# Programs and services
./programs # Containers
./services ./containers/jellyfin
./containers ./containers/jellyseerr
./containers/lidarr
./containers/mealie
./containers/microbin
./containers/prowlarr
./containers/qbittorrent
./containers/radarr
./containers/recyclarr
./containers/sonarr
# Services
./services/borgbackup
./services/crowdsec
./services/forgejo
./services/grafana
./services/lighttpd
./services/minecraft
./services/mpd
./services/mysql
./services/paperless-ngx
./services/prometheus
./services/samba
./services/traefik
# Setup our hardware # Setup our hardware
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -21,27 +45,27 @@
enable = true; enable = true;
allowPing = true; allowPing = true;
allowedTCPPorts = [ allowedTCPPorts = [
53 # adguardhome (DNS) 80
80 # traefik (HTTP) 443
443 # traefik (HTTPS) 6600
32372 # qbittorrent
6600 # mpd
];
allowedUDPPorts = [
53 # adguardhome (DNS)
80 # traefik (HTTP)
443 # traefik (HTTPS)
32372 # qbittorrent
6600 # mpd
]; ];
}; };
}; };
# Use docker instead of podman for our containers. # Configure programs
virtualisation.docker = { programs = {
zsh.enable = true;
};
# Manage linux containers
virtualisation = {
docker = {
enable = true; enable = true;
liveRestore = false; liveRestore = false;
}; };
# Implementation to use for containers
oci-containers.backend = "docker";
};
# Required for smooth remote deployments # Required for smooth remote deployments
security.sudo.wheelNeedsPassword = false; security.sudo.wheelNeedsPassword = false;

View file

@ -1,15 +0,0 @@
{...}: {
imports = [
./jellyfin.nix
./jellyseerr.nix
./lidarr.nix
./prowlarr.nix
./qbittorrent.nix
./radarr.nix
./recyclarr.nix
./sonarr.nix
./mealie.nix
./microbin
];
virtualisation.oci-containers.backend = "docker";
}

View file

@ -1,5 +0,0 @@
{...}: {
programs = {
zsh.enable = true;
};
}

View file

@ -1,15 +0,0 @@
{...}: {
imports = [
./traefik
./crowdsec
./minecraft
./borgbackup.nix
./forgejo.nix
./lighttpd.nix
./mpd.nix
./samba.nix
./grafana.nix
./mysql.nix
./prometheus.nix
];
}

View file

@ -0,0 +1,37 @@
{config, ...}: let
dir = "/srv/services/paperless-ngx";
in {
age.secrets.paperless-ngx = {
rekeyFile = ./password.age;
};
services.paperless = {
enable = true;
port = 28981;
dataDir = "${dir}";
mediaDir = "${dir}/media";
settings = {
PAPERLESS_ADMIN_USER = "sajenim";
};
passwordFile = config.age.secrets.paperless-ngx.path;
};
services.traefik.dynamicConfigOptions.http.routers = {
paperless-ngx = {
rule = "Host(`docs.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "paperless-ngx";
};
};
services.traefik.dynamicConfigOptions.http.services = {
paperless-ngx.loadBalancer.servers = [
{url = "http://127.0.0.1:${toString config.services.paperless.port}";}
];
};
}

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> piv-p256 hdSnGw A4P0oT5qK/bG8ieEixFW/SCouhantxg3dSjiGG1MEuns
cDorIZ44RmsUsiiybnr1y8WZtv/3kFPi86QkpGURqTY
-> FNP4c-grease
LThbpY1sc7XzQgputWt3ULuLwemBilYrOEZMTAj+/xkxyQg5HwSIhBS1XYzvMc2K
ld/o3JfDaXVLEz0Vk59TClXeOGITp7Ki
--- 572BrDug9qmAG7G0mC5bOZ/h1UD4y2m1ceDhy1qQh3U
/¬vØk)Ùë­hŒ ˆ™æûËÇx^QyAeK}låÆg~¯k> l*p