hosts/modularization

This commit is contained in:
tulg 2026-01-10 19:31:22 +03:00
parent 71e22f65bb
commit 5e4b53d885
16 changed files with 260 additions and 352 deletions

View file

@ -5,5 +5,6 @@
./hyprland.nix
./spicetify.nix
./browsers/zen.nix
./vscode.nix
];
}

View file

@ -0,0 +1,15 @@
{
lib,
pkgs,
...
}: {
programs.vscode = {
enable = true;
profiles.default.extensions = with pkgs.vscode-extensions; [
pkgs.vscode-extensions.kamadorueda.alejandra
pkgs.vscode-extensions.jnoortheen.nix-ide
];
profiles.tulg.userSettings = {
};
};
}

View file

@ -7,57 +7,13 @@
imports = [
./cli/default.nix
./desktop/default.nix
./pkgs.nix
];
# Home Manager settings
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
home.username = "tulg";
home.homeDirectory = "/home/tulg";
home.stateVersion = "25.05";
home.packages = with pkgs; [
quickshell
networkmanagerapplet
inputs.noctalia.packages.${pkgs.system}.default
wdisplays
nwg-look
restic
rose-pine-gtk-theme
alejandra
prismlauncher
arc-theme
cliphist
swappy
mpv
pkgs.looking-glass-client
tmux
fastfetch
btop
pavucontrol
wl-clipboard
hyprcursor
parsec-bin
file-roller
hyprpaper
hyprpolkitagent
pkgs.nixd
swww
grim
slurp
inxi
waybar
wofi
mako
feh
kitty
];
programs.vscode = {
enable = true;
profiles.default.extensions = with pkgs.vscode-extensions; [
pkgs.vscode-extensions.kamadorueda.alejandra
pkgs.vscode-extensions.jnoortheen.nix-ide
];
profiles.tulg.userSettings = {
};
};
programs.vesktop.enable = true;
}

View file

@ -0,0 +1,42 @@
{
pkgs,
inputs,
...
}: {
home.packages = with pkgs; [
quickshell
networkmanagerapplet
inputs.noctalia.packages.${pkgs.system}.default
wdisplays
nwg-look
restic
rose-pine-gtk-theme
alejandra
prismlauncher
arc-theme
cliphist
swappy
mpv
pkgs.looking-glass-client
tmux
fastfetch
btop
pavucontrol
wl-clipboard
hyprcursor
parsec-bin
file-roller
hyprpaper
hyprpolkitagent
pkgs.nixd
swww
grim
slurp
inxi
waybar
wofi
mako
feh
kitty
];
}

12
modules/nixos/common.nix Normal file
View file

@ -0,0 +1,12 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
git
rose-pine-gtk-theme
virtiofsd
linux-pam
lm_sensors
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = ["nix-command" "flakes"];
time.timeZone = "Europe/Istanbul";
}

26
modules/nixos/fonts.nix Normal file
View file

@ -0,0 +1,26 @@
{pkgs, ...}: {
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
#noto-fonts-emoji
nerd-fonts.symbols-only
liberation_ttf
font-awesome
fira
fira-sans
fira-code
fira-code-symbols
];
enableDefaultPackages = true;
fontconfig = {
enable = true;
defaultFonts = {
sansSerif = ["Fira Sans Regular"];
serif = ["Fira Sans Regular"];
monospace = ["Fira Mono Regular"];
};
};
};
}

View file

@ -0,0 +1,24 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
# Shows battery charge of connected devices on supported
# Bluetooth adapters. Defaults to 'false'.
Experimental = true;
# When enabled other devices can connect faster to us, however
# the tradeoff is increased power consumption. Defaults to
# 'false'.
FastConnectable = true;
};
Policy = {
# Enable all controllers when they are found. This includes
# adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'true'.
AutoEnable = true;
};
};
};
services.blueman.enable = true;
}

View file

@ -0,0 +1,13 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
./bluetooth.nix
./ssh.nix
./zapret.nix
];
}

View file

@ -0,0 +1,15 @@
{
users.users."root".openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIefprdYz4gFgBqGlrkycWcTYxFttQHRjDQmREtQTiGyqK1gQiB4z4Cbiayt7Emq224sbaobQPlNSyhlBCSo/Wf0bmZMz8NwNdwhFSkDnyD6LPaHg8fv9FXnWW0wBMl4oSD2wfGbMQBrecjgHXfJ64UiHyyhDllDDtWGgoY75wwfWHzX/NiGaEi0LHCQ8dsgp7H+BhssTkJPZbv6BJcA34yfb6dISjvW2S/QGKMwgYr9ArfGLUTWPbj+EbL7Bf9VsTFe9nP+FnYqEu4+oBIbY2heXWA+FCi0zxmMY4oYJxT5cJi1nffVOxboKLm4kIT93gv1WdcDiQDVdy5sJ1q0gJyiRt1HfJW4l8jn36VJ0FvdGmRliOTzSfeER0gbIsOcxeArHRV3ff/CoSocnSs0To5vFKgjlGwhdE8sJsqILgZnIoKwVvOXuDOz/RhbdBPpVsG7upk7bLJtLv9P5h0h/gUIWA1iktaYBSDL0UofjSrfNhZH6M0P+soIuooanSlVGivTlASw1pd+gjvebbc9ksvGZVqPQT0XegIvZkwfu8moERZUqv/xhNcyWTEGfFKoeHt5ub8Ac0LOe9Ak6N+p8xDjTdkmUgte5J/CNL1JL3JA/iqocAo+VvmIbPatbrOwUNcROOS3WeFg8MfNrbDyYCVNbZWAyM6wwfLB2fIUB2jw== tulg@highcommand" # content of authorized_keys file
];
users.users."tulg".openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIefprdYz4gFgBqGlrkycWcTYxFttQHRjDQmREtQTiGyqK1gQiB4z4Cbiayt7Emq224sbaobQPlNSyhlBCSo/Wf0bmZMz8NwNdwhFSkDnyD6LPaHg8fv9FXnWW0wBMl4oSD2wfGbMQBrecjgHXfJ64UiHyyhDllDDtWGgoY75wwfWHzX/NiGaEi0LHCQ8dsgp7H+BhssTkJPZbv6BJcA34yfb6dISjvW2S/QGKMwgYr9ArfGLUTWPbj+EbL7Bf9VsTFe9nP+FnYqEu4+oBIbY2heXWA+FCi0zxmMY4oYJxT5cJi1nffVOxboKLm4kIT93gv1WdcDiQDVdy5sJ1q0gJyiRt1HfJW4l8jn36VJ0FvdGmRliOTzSfeER0gbIsOcxeArHRV3ff/CoSocnSs0To5vFKgjlGwhdE8sJsqILgZnIoKwVvOXuDOz/RhbdBPpVsG7upk7bLJtLv9P5h0h/gUIWA1iktaYBSDL0UofjSrfNhZH6M0P+soIuooanSlVGivTlASw1pd+gjvebbc9ksvGZVqPQT0XegIvZkwfu8moERZUqv/xhNcyWTEGfFKoeHt5ub8Ac0LOe9Ak6N+p8xDjTdkmUgte5J/CNL1JL3JA/iqocAo+VvmIbPatbrOwUNcROOS3WeFg8MfNrbDyYCVNbZWAyM6wwfLB2fIUB2jw== tulg@highcommand" # content of authorized_keys file
];
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = true;
PermitRootLogin = "yes";
};
};
}

View file

@ -0,0 +1,51 @@
{
services.dnscrypt-proxy = {
enable = true;
settings = {
listen_addresses = [
"127.0.0.1:53"
"[::1]:53"
];
ignore_system_dns = true;
bootstrap_resolvers = [
"9.9.9.9:53"
"149.112.112.112:53"
"1.1.1.1:53"
];
fallback_resolvers = [
"9.9.9.9:53"
"1.1.1.1:53"
];
};
};
systemd.services.zapret = {
after = ["network-online.target"];
wants = ["network-online.target"];
};
services.zapret = {
enable = true;
params = [
"--dpi-desync=fake"
"--dpi-desync-ttl=8"
];
};
networking = {
networkmanager = {
enable = true;
dns = "none";
};
nameservers = [
"127.0.0.1"
"::1"
];
};
}

View file

@ -0,0 +1,12 @@
{pkgs, ...}: {
services.gvfs.enable = true; # Mount, trash, and other functionalities
services.tumbler.enable = true; # Thumbnail support for images
programs.thunar.enable = true;
programs.xfconf.enable = true;
services.displayManager.ly.enable = true;
programs.thunar.plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
}

View file

@ -0,0 +1,12 @@
{
users.users.tulg = {
isNormalUser = true;
description = "Tulga";
extraGroups = [
"networkmanager"
"wheel"
"libvirtd"
"kvm"
];
};
}

View file

@ -0,0 +1,11 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
./qemu.nix
];
}

View file

@ -0,0 +1,9 @@
{
programs.virt-manager.enable = true;
virtualisation.libvirtd = {
enable = true;
qemu.runAsRoot = false;
onBoot = "ignore";
onShutdown = "shutdown";
};
}