{ inputs, lib, pkgs, ... }: { imports = [ ./bootloader.nix ./filesystems.nix ./gpu.nix ./cpu.nix ./audio.nix ./bluetooth.nix ./networking.nix ./hardware.nix ]; boot.kernelPackages = pkgs.linuxPackages_6_17; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; time.timeZone = "Europe/Paris"; console = { keyMap = "us"; font = "${pkgs.terminus_font}/share/consolefonts/ter-v28b.psf.gz"; }; i18n.defaultLocale = "en_US.UTF-8"; nixpkgs.config.allowUnfree = true; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; substituters = [ "https://cache.nixos-cuda.org" ]; trusted-public-keys = [ "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M=" ]; }; # Enable required services for Wayland security.polkit.enable = true; programs.dconf.enable = true; # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). environment.systemPackages = with pkgs; [ wget firefox adwaita-icon-theme gsettings-desktop-schemas ]; fonts.fontconfig = { enable = true; antialias = true; hinting = { enable = true; style = "slight"; }; subpixel = { rgba = "rgb"; lcdfilter = "default"; }; defaultFonts = { serif = [ "SF Pro" "DejaVu Serif" ]; sansSerif = [ "SF Pro" "DejaVu Sans" ]; monospace = [ "Iosevka" "DejaVu Sans Mono" ]; emoji = [ "Noto Color Emoji" ]; }; }; fonts.packages = with pkgs; [ inputs.apple-fonts.packages."${pkgs.stdenv.hostPlatform.system}".sf-pro noto-fonts-color-emoji (iosevka.override { set = "cavalier"; privateBuildPlan = { family = "Iosevka Cavalier"; spacing = "normal"; serifs = "sans"; noCvSs = false; exportGlyphNames = true; variants.inherits = "ss08"; variants.weights.Regular = { shape = 400; menu = 400; css = 400; }; variants.weights.Bold = { shape = 700; menu = 700; css = 700; }; variants.weights.Italic = { angle = 9.4; shape = "italic"; menu = "italic"; css = "italic"; }; variants.weights.Upright = { angle = 0; shape = "upright"; menu = "upright"; css = "upright"; }; }; }) ]; programs._1password.enable = true; programs._1password-gui = { enable = true; # Certain features, including CLI integration and system authentication support, # require enabling PolKit integration on some desktop environments (e.g. Plasma). polkitPolicyOwners = [ "pml" ]; }; environment.etc = { "1password/custom_allowed_browsers" = { text = '' firefox ''; mode = "0755"; }; }; # Enable greetd # services.greetd = { # enable = true; # settings = { # default_session = { # command = "${pkgs.niri}/bin/niri --config /etc/greetd/niri.kdl"; # user = "greeter"; # }; # }; # } # Enable regreet programs.regreet = { enable = true; font.name = "SF Pro"; font.size = 16; font.package = inputs.apple-fonts.packages."${pkgs.stdenv.hostPlatform.system}".sf-pro; settings = { GTK = { font_name = lib.mkForce "SF Pro 16"; }; }; }; # Create the niri config for greetd # environment.etc."greetd/niri.kdl".text = '' # spawn-sh-at-startup "regreet; niri msg action quit --skip-confirmation" # # hotkey-overlay { # skip-at-startup # } # # cursor { # xcursor-theme "Adwaita" # xcursor-size 24 # } # ''; # Optional: Enable niri for user sessions programs.niri.enable = true; system.stateVersion = "25.05"; # Did you read the comment? }