188 lines
3.9 KiB
Nix
188 lines
3.9 KiB
Nix
{
|
|
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; [
|
|
mpv
|
|
wget
|
|
alacritty
|
|
fuzzel
|
|
firefox
|
|
adwaita-icon-theme
|
|
];
|
|
|
|
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?
|
|
}
|