@ -1,23 +1,25 @@
# Edit this configuration file to define what should be installed on
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘ nixos-help’ ).
# and in the NixOS manual (accessible by running ‘ nixos-help’ ).
{ inputs , config , pkgs , . . . }:
{
{
imports =
inputs ,
[ # Include the results of the hardware scan.
config ,
./hardware-configuration.nix
pkgs ,
inputs . home-manager . nixosModules . home-manager
. . .
] ;
} : {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs . home-manager . nixosModules . home-manager
] ;
home-manager = {
home-manager = {
extraSpecialArgs = { inherit inputs ; } ;
extraSpecialArgs = { inherit inputs ; } ;
backupFileExtension = " b a c k u p " ;
backupFileExtension = " b a c k u p " ;
users = {
users = {
foglar = import ./home.nix ;
foglar = import ./home.nix ;
} ;
} ;
} ;
} ;
stylix = {
stylix = {
enable = true ;
enable = true ;
@ -34,7 +36,7 @@
name = " B i b a t a - M o d e r n - I c e " ;
name = " B i b a t a - M o d e r n - I c e " ;
size = 24 ;
size = 24 ;
} ;
} ;
fonts = {
fonts = {
sizes = {
sizes = {
desktop = 8 ;
desktop = 8 ;
@ -45,14 +47,14 @@
monospace = {
monospace = {
name = " J e t B r a i n s M o n o N e r d F o n t " ;
name = " J e t B r a i n s M o n o N e r d F o n t " ;
package = pkgs . nerdfonts . override { fonts = [ " J e t B r a i n s M o n o " ] ; } ;
package = pkgs . nerdfonts . override { fonts = [ " J e t B r a i n s M o n o " ] ; } ;
} ;
} ;
} ;
} ;
} ;
} ;
# Bootloader.
# Bootloader.
boot . loader . systemd-boot . enable = true ;
boot . loader . systemd-boot . enable = true ;
nix . settings . experimental-features = [ " n i x - c o m m a n d " " f l a k e s " ] ;
nix . settings . experimental-features = [ " n i x - c o m m a n d " " f l a k e s " ] ;
networking . hostName = " l a p t o p " ; # Define your hostname.
networking . hostName = " l a p t o p " ; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@ -84,13 +86,13 @@
} ;
} ;
fonts . packages = with pkgs ; [
fonts . packages = with pkgs ; [
noto-fonts
noto-fonts
noto-fonts-emoji
noto-fonts-emoji
( nerdfonts . override { fonts = [ " J e t B r a i n s M o n o " ] ; } )
( nerdfonts . override { fonts = [ " J e t B r a i n s M o n o " ] ; } )
monaspace
monaspace
] ;
] ;
#services.xserver.enable = true;
#services.xserver.enable = true;
services . displayManager . sddm . enable = true ;
services . displayManager . sddm . enable = true ;
services . displayManager . sddm . wayland . enable = true ;
services . displayManager . sddm . wayland . enable = true ;
services . desktopManager . plasma6 . enable = true ;
services . desktopManager . plasma6 . enable = true ;
@ -127,11 +129,11 @@
khelpcenter
khelpcenter
] ;
] ;
# qt = {
# qt = {
# enable = true;
# enable = true;
# platformTheme = "gnome";
# platformTheme = "gnome";
# style = "adwaita-dark";
# style = "adwaita-dark";
# };
# };
programs . hyprland = {
programs . hyprland = {
enable = true ;
enable = true ;
@ -141,7 +143,25 @@
virtualisation . libvirtd . enable = true ;
virtualisation . libvirtd . enable = true ;
programs . virt-manager . enable = true ;
programs . virt-manager . enable = true ;
programs . proxychains = {
enable = true ;
chain . type = " d y n a m i c " ;
proxies = {
tor-proxy = {
enable = true ;
type = " s o c k s 5 " ;
host = " 1 2 7 . 0 . 0 . 1 " ;
port = 9050 ;
} ;
} ;
} ;
services . tor = {
enable = true ;
} ;
services . tor . client . enable = true ;
environment . sessionVariables = {
environment . sessionVariables = {
WLR_NO_HARDWARE_CURSORS = " 1 " ;
WLR_NO_HARDWARE_CURSORS = " 1 " ;
NIXOS_OZONE_WL = " 1 " ;
NIXOS_OZONE_WL = " 1 " ;
@ -156,13 +176,12 @@
services . xserver . videoDrivers = [ " n v i d i a " ] ;
services . xserver . videoDrivers = [ " n v i d i a " ] ;
hardware . nvidia = {
hardware . nvidia = {
# Modesetting is required.
# Modesetting is required.
modesetting . enable = true ;
modesetting . enable = true ;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
# of just the bare essentials.
powerManagement . enable = false ;
powerManagement . enable = false ;
@ -172,15 +191,15 @@
# Use the NVidia open source kernel module (not to be confused with the
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false ;
open = false ;
# Enable the Nvidia settings menu,
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
# accessible via `nvidia-settings`.
nvidiaSettings = true ;
nvidiaSettings = true ;
prime . amdgpuBusId = " p c i @ 0 0 0 : 0 4 : 0 " ;
prime . amdgpuBusId = " p c i @ 0 0 0 : 0 4 : 0 " ;
prime . nvidiaBusId = " p c i @ 0 0 0 : 0 1 : 0 " ;
prime . nvidiaBusId = " p c i @ 0 0 0 : 0 1 : 0 " ;
@ -193,7 +212,6 @@
# Optionally, you may need to select the appropriate driver version for your specific GPU.
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config . boot . kernelPackages . nvidiaPackages . stable ;
package = config . boot . kernelPackages . nvidiaPackages . stable ;
} ;
} ;
# Configure keymap in X11
# Configure keymap in X11
services . xserver . xkb = {
services . xserver . xkb = {
@ -227,9 +245,9 @@
users . users . foglar = {
users . users . foglar = {
isNormalUser = true ;
isNormalUser = true ;
description = " f o g l a r " ;
description = " f o g l a r " ;
extraGroups = [ " n e t w o r k m a n a g e r " " w h e e l " ] ;
extraGroups = [ " n e t w o r k m a n a g e r " " w h e e l " ] ;
packages = with pkgs ; [
packages = with pkgs ; [
# thunderbird
# thunderbird
] ;
] ;
} ;
} ;
@ -247,8 +265,8 @@
# List packages installed in system profile. To search, run:
# List packages installed in system profile. To search, run:
# $ nix search wget
# $ nix search wget
environment . systemPackages = with pkgs ; [
environment . systemPackages = with pkgs ; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# wget
inputs . zen-browser . packages . " ${ system } " . default
inputs . zen-browser . packages . " ${ system } " . default
] ;
] ;
@ -278,5 +296,4 @@
# Before changing this value read the documentation for this option
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system . stateVersion = " 2 4 . 0 5 " ; # Did you read the comment?
system . stateVersion = " 2 4 . 0 5 " ; # Did you read the comment?
}
}