Initial commit
This commit is contained in:
134
nixos/utils.nix
Normal file
134
nixos/utils.nix
Normal file
@@ -0,0 +1,134 @@
|
||||
# Misc
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
hostname = config.var.hostname;
|
||||
keyboardLayout = config.var.keyboardLayout;
|
||||
configDir = config.var.configDirectory;
|
||||
timeZone = config.var.timeZone;
|
||||
defaultLocale = config.var.defaultLocale;
|
||||
otherLocale = config.var.otherLocale;
|
||||
numericLocale = config.var.numericLocale;
|
||||
timeLocale = config.var.timeLocale;
|
||||
autoUpgrade = config.var.autoUpgrade;
|
||||
in
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
systemd.services.NetworkManager-wait-online.enable = false;
|
||||
|
||||
# system.autoUpgrade = {
|
||||
# enable = autoUpgrade;
|
||||
# dates = "04:00";
|
||||
# flake = "${configDir}";
|
||||
# flags = [
|
||||
# "--update-input"
|
||||
# "nixpkgs"
|
||||
# "--commit-lock-file"
|
||||
# ];
|
||||
# allowReboot = false;
|
||||
# };
|
||||
|
||||
time = {
|
||||
timeZone = timeZone;
|
||||
};
|
||||
i18n.defaultLocale = defaultLocale;
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = otherLocale;
|
||||
LC_IDENTIFICATION = otherLocale;
|
||||
LC_MEASUREMENT = otherLocale;
|
||||
LC_MONETARY = numericLocale;
|
||||
LC_NAME = otherLocale;
|
||||
LC_NUMERIC = numericLocale;
|
||||
LC_PAPER = otherLocale;
|
||||
LC_TELEPHONE = otherLocale;
|
||||
LC_TIME = timeLocale;
|
||||
};
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb.layout = keyboardLayout;
|
||||
xkb.variant = "";
|
||||
};
|
||||
# gnome.gnome-keyring.enable = true;
|
||||
# psd = {
|
||||
# enable = true;
|
||||
# resyncTimer = "10m";
|
||||
# };
|
||||
};
|
||||
console.keyMap = keyboardLayout;
|
||||
|
||||
environment.variables = {
|
||||
XDG_DATA_HOME = "$HOME/.local/share";
|
||||
PASSWORD_STORE_DIR = "$HOME/.local/share/password-store";
|
||||
EDITOR = "nvim";
|
||||
TERMINAL = "kitty";
|
||||
TERM = "kitty";
|
||||
BROWSER = "brave";
|
||||
};
|
||||
|
||||
services.libinput.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
services = {
|
||||
dbus = {
|
||||
enable = true;
|
||||
implementation = "broker";
|
||||
packages = with pkgs; [
|
||||
gcr
|
||||
gnome-settings-daemon
|
||||
];
|
||||
};
|
||||
gvfs.enable = true;
|
||||
upower.enable = true;
|
||||
power-profiles-daemon.enable = true;
|
||||
udisks2.enable = true;
|
||||
};
|
||||
|
||||
# enable zsh autocompletion for system packages (systemd, etc)
|
||||
environment.pathsToLink = [ "/share/zsh" ];
|
||||
|
||||
# Faster rebuilding
|
||||
documentation = {
|
||||
enable = true;
|
||||
doc.enable = true;
|
||||
man.enable = true;
|
||||
dev.enable = true;
|
||||
info.enable = true;
|
||||
nixos.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprland-qtutils
|
||||
xdg-utils
|
||||
];
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
config = {
|
||||
common.default = [ "gtk" ];
|
||||
hyprland.default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
|
||||
security = {
|
||||
# allow wayland lockers to unlock the screen
|
||||
pam.services.hyprlock.text = "auth include login";
|
||||
|
||||
# userland niceness
|
||||
rtkit.enable = true;
|
||||
|
||||
# don't ask for password for wheel group
|
||||
sudo.wheelNeedsPassword = false;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user