2023-02-10 07:46:37 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
2023-01-31 09:38:11 +01:00
|
|
|
mainUser = "winston";
|
2023-02-10 07:46:37 +01:00
|
|
|
in {
|
2023-01-31 09:38:11 +01:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
2023-02-11 04:58:34 +01:00
|
|
|
imports = [./hardware.nix];
|
2023-01-31 09:38:11 +01:00
|
|
|
|
|
|
|
boot = {
|
2023-02-14 06:21:45 +01:00
|
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
2023-01-31 09:38:11 +01:00
|
|
|
loader.efi.canTouchEfiVariables = true;
|
|
|
|
loader.systemd-boot.enable = true;
|
|
|
|
|
|
|
|
# for nvidia & minimalism
|
|
|
|
loader.systemd-boot.consoleMode = "0";
|
|
|
|
|
|
|
|
# plymouth
|
|
|
|
plymouth = {
|
|
|
|
enable = true;
|
|
|
|
theme = "catppuccin-mocha";
|
2023-02-14 06:21:45 +01:00
|
|
|
themePackages = [pkgs.nur.repos.nekowinston.plymouth-theme-catppuccin];
|
2023-01-31 09:38:11 +01:00
|
|
|
};
|
2023-02-10 07:46:37 +01:00
|
|
|
kernelParams = ["quiet" "splash" "vt.global_cursor_default=0"];
|
2023-01-31 09:38:11 +01:00
|
|
|
initrd.systemd.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
hardware = {
|
|
|
|
bluetooth.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
networking = {
|
2023-02-11 04:58:34 +01:00
|
|
|
hostName = "futomaki";
|
2023-01-31 09:38:11 +01:00
|
|
|
networkmanager.enable = true;
|
|
|
|
firewall.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
time.timeZone = "Europe/Vienna";
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
|
2023-02-19 02:06:31 +01:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# file management
|
|
|
|
p7zip
|
|
|
|
unzip
|
|
|
|
zip
|
|
|
|
gnome.file-roller
|
|
|
|
|
|
|
|
# thumbnails
|
|
|
|
webp-pixbuf-loader
|
|
|
|
ffmpegthumbnailer
|
|
|
|
];
|
2023-02-12 08:05:51 +01:00
|
|
|
programs = {
|
|
|
|
dconf.enable = true;
|
2023-02-12 16:35:19 +01:00
|
|
|
nix-ld.enable = true;
|
|
|
|
noisetorch.enable = true;
|
2023-02-12 08:05:51 +01:00
|
|
|
thunar = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.xfce; [
|
|
|
|
thunar-archive-plugin
|
|
|
|
thunar-volman
|
|
|
|
];
|
|
|
|
};
|
2023-02-11 04:58:34 +01:00
|
|
|
};
|
2023-01-31 09:38:11 +01:00
|
|
|
|
2023-02-14 19:17:18 +01:00
|
|
|
security = {
|
|
|
|
polkit.enable = true;
|
|
|
|
rtkit.enable = true;
|
|
|
|
};
|
2023-01-31 09:38:11 +01:00
|
|
|
systemd = {
|
|
|
|
packages = [pkgs.polkit_gnome];
|
|
|
|
user.services.polkit-gnome-authentication-agent-1 = {
|
|
|
|
unitConfig = {
|
|
|
|
Description = "polkit-gnome-authentication-agent-1";
|
2023-02-10 07:46:37 +01:00
|
|
|
Wants = ["graphical-session.target"];
|
|
|
|
WantedBy = ["graphical-session.target"];
|
|
|
|
After = ["graphical-session.target"];
|
2023-01-31 09:38:11 +01:00
|
|
|
};
|
|
|
|
serviceConfig = {
|
|
|
|
Type = "simple";
|
|
|
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
|
|
Restart = "on-failure";
|
|
|
|
RestartSec = 1;
|
|
|
|
TimeoutStopSec = 10;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-02-10 07:46:37 +01:00
|
|
|
services = {
|
2023-01-31 09:38:11 +01:00
|
|
|
# mounting
|
|
|
|
gvfs.enable = true;
|
|
|
|
udisks2.enable = true;
|
|
|
|
devmon.enable = true;
|
|
|
|
|
2023-02-19 02:06:31 +01:00
|
|
|
# thunbnails
|
|
|
|
tumbler.enable = true;
|
|
|
|
|
2023-01-31 09:38:11 +01:00
|
|
|
# desktop
|
|
|
|
blueman.enable = true;
|
|
|
|
gnome.gnome-keyring.enable = true;
|
2023-02-14 19:17:18 +01:00
|
|
|
pipewire = {
|
|
|
|
enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
2023-01-31 09:38:11 +01:00
|
|
|
|
|
|
|
openssh.enable = true;
|
|
|
|
pcscd.enable = true;
|
|
|
|
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
desktopManager.xterm.enable = false;
|
2023-02-19 02:06:31 +01:00
|
|
|
displayManager.gdm.enable = true;
|
2023-01-31 09:38:11 +01:00
|
|
|
libinput.enable = true;
|
2023-02-12 16:35:19 +01:00
|
|
|
windowManager.i3.enable = true;
|
2023-01-31 09:38:11 +01:00
|
|
|
xkbOptions = "caps:ctrl_modifier";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-02-11 04:58:34 +01:00
|
|
|
virtualisation.docker.enable = true;
|
|
|
|
|
2023-01-31 09:38:11 +01:00
|
|
|
users.users."${mainUser}" = {
|
2023-02-14 06:21:45 +01:00
|
|
|
extraGroups = ["wheel" "docker"];
|
2023-01-31 09:38:11 +01:00
|
|
|
isNormalUser = true;
|
2023-02-10 07:46:37 +01:00
|
|
|
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILm0O46zW/XfVOSwz0okRWYeOAg+wCVkCtCAoVTpZsOh"];
|
2023-01-31 09:38:11 +01:00
|
|
|
shell = pkgs.zsh;
|
|
|
|
};
|
|
|
|
|
2023-02-11 04:58:34 +01:00
|
|
|
system.stateVersion = "22.11";
|
2023-01-31 09:38:11 +01:00
|
|
|
}
|