141 lines
3.2 KiB
Nix
141 lines
3.2 KiB
Nix
|
|
{
|
||
|
|
inputs,
|
||
|
|
pkgs,
|
||
|
|
config,
|
||
|
|
...
|
||
|
|
}: {
|
||
|
|
imports = [
|
||
|
|
./programs.nix
|
||
|
|
|
||
|
|
../../hosts/modules/bashistrans.nix
|
||
|
|
../../hosts/modules/wm/hyprland.nix
|
||
|
|
../../hosts/modules/steam.nix
|
||
|
|
../../hosts/modules/obsidian.nix
|
||
|
|
|
||
|
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||
|
|
];
|
||
|
|
|
||
|
|
boot.loader.grub2-theme = {
|
||
|
|
enable = true;
|
||
|
|
# GitHub: vinceliuice/grub2-themes
|
||
|
|
theme = "whitesur"; # stylish, vimix, or whitesur
|
||
|
|
footer = true;
|
||
|
|
customResolution = "1920x1080";
|
||
|
|
};
|
||
|
|
|
||
|
|
services = {
|
||
|
|
# Set display manager (login screen)
|
||
|
|
displayManager = {
|
||
|
|
# sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects
|
||
|
|
sddm = {
|
||
|
|
enable = true;
|
||
|
|
wayland.enable = true; # experimental
|
||
|
|
theme = "corners";
|
||
|
|
};
|
||
|
|
defaultSession =
|
||
|
|
"hyprland"
|
||
|
|
+ (
|
||
|
|
if config.programs.hyprland.withUWSM == true
|
||
|
|
then "-uwsm"
|
||
|
|
else null
|
||
|
|
);
|
||
|
|
};
|
||
|
|
|
||
|
|
tumbler.enable = true; # Thunar image thumbnail support
|
||
|
|
gvfs.enable = true; # Thunar mount, trash, and other functionality
|
||
|
|
};
|
||
|
|
|
||
|
|
programs = {
|
||
|
|
zsh.enable = true;
|
||
|
|
fish.enable = true;
|
||
|
|
|
||
|
|
nix-ld.enable = true;
|
||
|
|
|
||
|
|
neovim = {
|
||
|
|
enable = true;
|
||
|
|
defaultEditor = true;
|
||
|
|
viAlias = true;
|
||
|
|
vimAlias = true;
|
||
|
|
configure = {
|
||
|
|
customRC = ''
|
||
|
|
set number
|
||
|
|
set tabstop=4
|
||
|
|
set shiftwidth=4
|
||
|
|
'';
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
# Thunar also uses: `services.tumbler` & `services.gvfs`
|
||
|
|
thunar = {
|
||
|
|
enable = true;
|
||
|
|
plugins = with pkgs.xfce; [
|
||
|
|
thunar-volman # for removable drives (ie USBs)
|
||
|
|
thunar-archive-plugin # create and extract archives
|
||
|
|
thunar-media-tags-plugin # change metadata for media files
|
||
|
|
];
|
||
|
|
};
|
||
|
|
|
||
|
|
# mozilla's email client
|
||
|
|
thunderbird.enable = true;
|
||
|
|
};
|
||
|
|
|
||
|
|
# ----- FONTS -----
|
||
|
|
fonts = {
|
||
|
|
enableDefaultPackages = true; # no clue what this line does tbh
|
||
|
|
packages = with pkgs;
|
||
|
|
[
|
||
|
|
geist-font # for my hyprlock theme
|
||
|
|
# texlive maintains a noto-emoji flake
|
||
|
|
texlivePackages.noto-emoji
|
||
|
|
]
|
||
|
|
++ builtins.filter lib.attrsets.isDerivation (
|
||
|
|
builtins.attrValues pkgs.nerd-fonts
|
||
|
|
);
|
||
|
|
|
||
|
|
# TODO: change my default fonts
|
||
|
|
fontconfig = {
|
||
|
|
defaultFonts = {
|
||
|
|
serif = ["Geist"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
||
|
|
sansSerif = ["Geist"];
|
||
|
|
monospace = ["Cousine"];
|
||
|
|
emoji = ["Noto Emoji"];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
# ---- ENVIRONMENT VARIABLES ----
|
||
|
|
environment = {
|
||
|
|
sessionVariables = {
|
||
|
|
# Hint Electrons apps to use Wayland
|
||
|
|
NIXOS_OZONE_WL = "1";
|
||
|
|
};
|
||
|
|
systemPackages = with pkgs; [
|
||
|
|
(callPackage ../sddm-theme-corners.nix {}).sddm-theme-corners
|
||
|
|
# dependencies for my sddm theme:
|
||
|
|
# XXX: add these as a buildInput
|
||
|
|
pkgs.libsForQt5.qt5.qtgraphicaleffects
|
||
|
|
];
|
||
|
|
};
|
||
|
|
|
||
|
|
# ------- USERS -------
|
||
|
|
users = {
|
||
|
|
users = {
|
||
|
|
# literally me fr (personal account)
|
||
|
|
me = {
|
||
|
|
isNormalUser = true;
|
||
|
|
extraGroups = ["wheel" "netdev" "docker"];
|
||
|
|
shell = pkgs.bash;
|
||
|
|
packages = with pkgs; [
|
||
|
|
firefox
|
||
|
|
nitch
|
||
|
|
starfetch
|
||
|
|
|
||
|
|
colmena-latest
|
||
|
|
|
||
|
|
gitkraken
|
||
|
|
];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|