PROPESSOR

Latest Error Free Configuration.Nix

Jun 13th, 2025
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.00 KB | None | 0 0
  1. { config, pkgs, lib, ... }:
  2. {
  3.   imports = [ ];
  4.  
  5.   nixpkgs.config.allowUnfree = true;        
  6.  
  7.   services.xserver.enable = true;
  8.   services.xserver.excludePackages = [ pkgs.xterm ];
  9.  
  10.   # Enable Hyprland and a compatible display manager
  11.   # programs.hyprland.enable = true;
  12.   programs.hyprland = {
  13.     enable = true;
  14.     withUWSM = true;
  15.    };  
  16.  
  17.   # Display Manager
  18.   # Enable SDDM
  19.   services.displayManager.sddm = {
  20.       enable = true;
  21.       wayland.enable = true;
  22.       package = pkgs.kdePackages.sddm;
  23.       extraPackages = with pkgs; [
  24.         kdePackages.qtsvg
  25.         kdePackages.qtmultimedia
  26.         kdePackages.qtvirtualkeyboard
  27.       ];
  28.       theme = "sddm-astronaut-theme";
  29.   };
  30.   #services.displayManager.sddm.theme = "${import ./sddm-theme.nix { inherit pkgs lib  stdenvNoCC; }}";
  31.   # Set the custom theme
  32.   #services.displayManager.sddm.theme = "Magna-SDDM-6";
  33.   # Set theme via config file
  34.   #environment.etc."sddm.conf.d/theme.conf".text = ''
  35.   #  [Theme]
  36.   #  Current=Magna-SDDM-6
  37.   #'';
  38.   # Make sure SDDM can see the theme
  39.   #environment.etc."sddm/themes/Magna-SDDM-6".source = ./themes/Magna-SDDM-6;
  40.  
  41.   # Suggestions By ChatGpt for file picker
  42.   xdg.portal.enable = true;
  43.   xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
  44.  
  45.   environment.sessionVariables = {
  46.     NIXOS_OZONE_WL = "1"; # For Wayland compatibility with Electron apps
  47.   };
  48.  
  49.   i18n.defaultLocale = "en_US.UTF-8"; # Replace with your preferred locale
  50.   services.pipewire = {
  51.     enable = true;
  52.     alsa.enable = true;
  53.     alsa.support32Bit = true;
  54.     pulse.enable = true;
  55.     jack.enable = true;
  56.    };
  57.  
  58.   # For Running Steam
  59.   hardware.graphics = {
  60.    enable = true;
  61.    enable32Bit = true;
  62.   };        
  63.  
  64.   # Enable hardware-accelerated rendering (optional, adjust if necessary)
  65.   services.xserver.videoDrivers = [ "modesetting" ];
  66.  
  67.   # Configure the system timezone
  68.   time.timeZone = "Asia/Kolkata";
  69.  
  70.   # Enable networking
  71.   #networking.wireless.enable = true;
  72.   hardware.enableAllFirmware = true;
  73.   networking.hostName = "nixos"; # Set your hostname
  74.   networking.networkmanager.enable = true; # Enable NetworkManager for easier configuration
  75.  
  76.   nixpkgs.config.permittedInsecurePackages = [
  77.                 "electron-24.8.6"
  78.               ];  
  79.  
  80.  
  81.   # Configure system packages
  82.   environment.systemPackages = with pkgs; [
  83.     xdg-desktop-portal-hyprland
  84.     networkmanagerapplet
  85.     networkmanager
  86.     (pkgs.callPackage ./sddm-theme.nix {
  87.       # theme = "astronaut"; #nice
  88.       # theme = "black_hole"; #bad
  89.       # theme = "cyberpunk"; # bad(showing wrong date)
  90.       # theme = "hyprland_kath"; #good
  91.       # theme = "jake_the_dog"; #bad
  92.       # theme = "japanese_aesthetic"; #bad
  93.       # theme = "pixel_sakura"; #nice
  94.       # theme = "pixel_sakura_static"; #bad
  95.       # theme = "post-apocalyptic_hacker"; #bad
  96.       theme = "purple_leaves"; #nice
  97.     })
  98.     # Add more packages as needed
  99.   ];
  100.  
  101.   # Fonts
  102.   fonts.packages = with pkgs; [
  103.    noto-fonts-color-emoji
  104.    dosis
  105.    iosevka
  106.    nerd-fonts._0xproto
  107.    nerd-fonts._3270
  108.    nerd-fonts.agave
  109.    nerd-fonts.anonymice
  110.    nerd-fonts.arimo
  111.    nerd-fonts.aurulent-sans-mono
  112.    nerd-fonts.bigblue-terminal
  113.    nerd-fonts.bitstream-vera-sans-mono
  114.    nerd-fonts.blex-mono
  115.    nerd-fonts.caskaydia-cove
  116.    nerd-fonts.caskaydia-mono
  117.    nerd-fonts.code-new-roman
  118.    nerd-fonts.comic-shanns-mono
  119.    nerd-fonts.commit-mono
  120.    nerd-fonts.cousine
  121.    nerd-fonts.d2coding
  122.    nerd-fonts.daddy-time-mono
  123.    nerd-fonts.dejavu-sans-mono
  124.    nerd-fonts.departure-mono
  125.    nerd-fonts.droid-sans-mono
  126.    nerd-fonts.envy-code-r
  127.    nerd-fonts.fantasque-sans-mono
  128.    nerd-fonts.fira-code
  129.    nerd-fonts.fira-mono
  130.    nerd-fonts.geist-mono
  131.    nerd-fonts.go-mono
  132.    nerd-fonts.gohufont
  133.    nerd-fonts.hack
  134.    nerd-fonts.hasklug
  135.    nerd-fonts.heavy-data
  136.    nerd-fonts.hurmit
  137.    nerd-fonts.im-writing
  138.    nerd-fonts.inconsolata
  139.    nerd-fonts.inconsolata-go
  140.    nerd-fonts.inconsolata-lgc
  141.    nerd-fonts.intone-mono
  142.    nerd-fonts.iosevka-term
  143.    nerd-fonts.iosevka-term-slab
  144.    nerd-fonts.jetbrains-mono
  145.    nerd-fonts.lekton
  146.    nerd-fonts.liberation
  147.    nerd-fonts.lilex
  148.    nerd-fonts.martian-mono
  149.    nerd-fonts.monaspace
  150.    nerd-fonts.monofur
  151.    nerd-fonts.monoid
  152.    nerd-fonts.mononoki
  153.    nerd-fonts.noto
  154.    nerd-fonts.open-dyslexic
  155.    nerd-fonts.overpass
  156.    nerd-fonts.profont
  157.    nerd-fonts.proggy-clean-tt
  158.    nerd-fonts.recursive-mono
  159.    nerd-fonts.roboto-mono
  160.    nerd-fonts.sauce-code-pro
  161.    nerd-fonts.shure-tech-mono
  162.    nerd-fonts.space-mono
  163.    nerd-fonts.symbols-only
  164.    nerd-fonts.terminess-ttf
  165.    nerd-fonts.tinos
  166.    nerd-fonts.ubuntu
  167.    nerd-fonts.ubuntu-mono
  168.    nerd-fonts.ubuntu-sans
  169.    nerd-fonts.victor-mono
  170.    nerd-fonts.zed-mono
  171.   ];
  172.  
  173.   # Enable sound
  174.   # sound.enable = true;
  175.   services.pulseaudio.enable = false;
  176.  
  177.  
  178.  
  179.   # Enable Bluetooth
  180.   hardware.bluetooth.enable = true;
  181.  
  182.   # Bluedevil-Blueman Alternative
  183.   # services.dbus.enable = true;  
  184.  
  185.   # Enable SSH
  186.   services.openssh.enable = true;
  187.  
  188.   # Enable firewall
  189.   networking.firewall.enable = true;
  190.  
  191.   # Users
  192.   users.users.veagle = { # Replace "yourusername" with your actual username
  193.     isNormalUser = true;
  194.     extraGroups = [ "wheel" "networkmanager" ]; # Add user to additional groups
  195.   };
  196.  
  197.   # Bootloader configuration
  198.   #boot.loader.grub.enable = true;
  199.   #boot.loader.grub.version = 2;
  200.   #boot.loader.grub.device = "/dev/nvme0n1"; # Replace "sdX" with your actual disk, e.g., "/dev/sda"
  201.  
  202.   # Enable systemd-boot (optional if not using GRUB)
  203.   boot.loader.systemd-boot.enable = true;
  204.   fileSystems."/boot" = {
  205.     device = "/dev/nvme0n1p1";  # Replace with your actual ESP partition
  206.     fsType = "vfat";
  207.   };
  208.  
  209.   # File systems
  210.   fileSystems."/" = {
  211.    device = "/dev/nvme0n1p6"; # Root partition
  212.    fsType = "ext4";           # Assuming ext4 is the filesystem
  213.   };
  214.  
  215.  system.stateVersion = "24.11";
  216.  swapDevices = [
  217.    {
  218.     device = "/swapfile";
  219.    }
  220.  ];
  221.  
  222.   nix.settings.experimental-features = [ "nix-command" "flakes" ];
  223.  
  224. }
  225.  
Add Comment
Please, Sign In to add comment