hosts/modularization
This commit is contained in:
parent
71e22f65bb
commit
5e4b53d885
16 changed files with 260 additions and 352 deletions
|
|
@ -8,135 +8,26 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./disko.nix
|
||||
./hardware-configuration.nix
|
||||
../../modules/nixos/networking/default.nix
|
||||
../../modules/nixos/virtualization/default.nix
|
||||
../../modules/nixos/common.nix
|
||||
../../modules/nixos/fonts.nix
|
||||
../../modules/nixos/services.nix
|
||||
../../modules/nixos/users/tulg.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking = {
|
||||
hostName = "archangel";
|
||||
nameservers = ["127.0.0.1" "::1"];
|
||||
};
|
||||
networking.hostName = "archangel";
|
||||
|
||||
services.dnscrypt-proxy2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
listen_addresses = ["127.0.0.1:53" "[::1]:53"];
|
||||
};
|
||||
};
|
||||
|
||||
services.zapret = {
|
||||
enable = true;
|
||||
params = [
|
||||
"--dpi-desync=fake"
|
||||
"--dpi-desync-ttl=8"
|
||||
];
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Istanbul";
|
||||
|
||||
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;
|
||||
# Select internationalisation properties.
|
||||
services.getty.autologinUser = "tulg";
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.tulg = {
|
||||
isNormalUser = true;
|
||||
description = "Tulga";
|
||||
extraGroups = ["networkmanager" "network " "wheel"];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
git
|
||||
rose-pine-gtk-theme
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = true;
|
||||
PermitRootLogin = "yes";
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
powerManagement.powertop.enable = true;
|
||||
services.upower.enable = true;
|
||||
|
|
@ -153,33 +44,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
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;
|
||||
programs.thunar.plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
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
|
||||
];
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
services.displayManager.ly.enable = true;
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,175 +8,20 @@
|
|||
./disko.nix
|
||||
./hardware-configuration.nix
|
||||
./vfio.nix
|
||||
../../modules/nixos/networking/default.nix
|
||||
../../modules/nixos/virtualization/default.nix
|
||||
../../modules/nixos/common.nix
|
||||
../../modules/nixos/fonts.nix
|
||||
../../modules/nixos/services.nix
|
||||
../../modules/nixos/users/tulg.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
# boot.kernelPackages = pkgs.linuxPackages_6_1;
|
||||
networking = {
|
||||
hostName = "virgil";
|
||||
nameservers = ["127.0.0.1" "::1"];
|
||||
};
|
||||
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;
|
||||
|
||||
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"];
|
||||
systemd.services.zapret.wants = ["network-online.target"];
|
||||
services.zapret = {
|
||||
enable = true;
|
||||
params = [
|
||||
"--dpi-desync=fake"
|
||||
"--dpi-desync-ttl=8"
|
||||
];
|
||||
};
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
dns = "none";
|
||||
};
|
||||
programs.bash.shellAliases = {
|
||||
fuck = "you";
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Istanbul";
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.tulg = {
|
||||
isNormalUser = true;
|
||||
description = "Tulga";
|
||||
initialPassword = "fuckyou";
|
||||
extraGroups = ["networkmanager" "wheel" "libvirtd" "kvm"];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu.runAsRoot = false;
|
||||
onBoot = "ignore";
|
||||
onShutdown = "shutdown";
|
||||
};
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
rose-pine-gtk-theme
|
||||
virtiofsd
|
||||
linux-pam
|
||||
lm_sensors
|
||||
#fancontrol
|
||||
];
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
networking.hostName = "virgil";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = true;
|
||||
PermitRootLogin = "yes";
|
||||
};
|
||||
};
|
||||
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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
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;
|
||||
programs.thunar.plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
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
|
||||
];
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
services.displayManager.ly.enable = true;
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@
|
|||
./hyprland.nix
|
||||
./spicetify.nix
|
||||
./browsers/zen.nix
|
||||
./vscode.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
15
modules/home-manager/desktop/vscode.nix
Normal file
15
modules/home-manager/desktop/vscode.nix
Normal 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 = {
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
42
modules/home-manager/pkgs.nix
Normal file
42
modules/home-manager/pkgs.nix
Normal 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
12
modules/nixos/common.nix
Normal 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
26
modules/nixos/fonts.nix
Normal 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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
modules/nixos/networking/bluetooth.nix
Normal file
24
modules/nixos/networking/bluetooth.nix
Normal 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;
|
||||
}
|
||||
13
modules/nixos/networking/default.nix
Normal file
13
modules/nixos/networking/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./bluetooth.nix
|
||||
./ssh.nix
|
||||
./zapret.nix
|
||||
];
|
||||
}
|
||||
15
modules/nixos/networking/ssh.nix
Normal file
15
modules/nixos/networking/ssh.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
51
modules/nixos/networking/zapret.nix
Normal file
51
modules/nixos/networking/zapret.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
}
|
||||
12
modules/nixos/services.nix
Normal file
12
modules/nixos/services.nix
Normal 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
|
||||
];
|
||||
}
|
||||
12
modules/nixos/users/tulg.nix
Normal file
12
modules/nixos/users/tulg.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
users.users.tulg = {
|
||||
isNormalUser = true;
|
||||
description = "Tulga";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"libvirtd"
|
||||
"kvm"
|
||||
];
|
||||
};
|
||||
}
|
||||
11
modules/nixos/virtualization/default.nix
Normal file
11
modules/nixos/virtualization/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./qemu.nix
|
||||
];
|
||||
}
|
||||
9
modules/nixos/virtualization/qemu.nix
Normal file
9
modules/nixos/virtualization/qemu.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu.runAsRoot = false;
|
||||
onBoot = "ignore";
|
||||
onShutdown = "shutdown";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue