os/configuration.nix

210 lines
4.1 KiB
Nix
Raw Normal View History

2024-07-01 22:40:58 +02:00
{ config, pkgs, inputs, ... }:
2022-07-20 21:00:50 +02:00
{
imports =
[
2024-07-02 00:20:09 +02:00
./programs/kakoune.nix
./programs/pastebin.nix
2022-07-20 21:00:50 +02:00
];
nix = {
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
2024-07-02 00:20:09 +02:00
nixpkgs.overlays = [
inputs.nur.overlay
];
2022-07-20 21:00:50 +02:00
networking.networkmanager.enable = true;
time.timeZone = "Europe/Amsterdam";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
2022-09-27 17:24:35 +02:00
services.logind.lidSwitchExternalPower = "ignore";
2022-07-20 21:00:50 +02:00
services.xserver = {
2024-07-01 22:40:58 +02:00
xkb.layout = "us";
xkb.variant = "euro";
2022-07-20 21:00:50 +02:00
};
services.printing.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau
libvdpau-va-gl
];
};
users.users.steph = {
isNormalUser = true;
description = "Steph";
2023-02-22 10:16:53 +01:00
extraGroups = [ "networkmanager" "wheel" "dialout" "podman" "docker" ];
2022-07-20 21:00:50 +02:00
packages = with pkgs; [
tdesktop
vscodium
ungoogled-chromium
2023-02-07 16:41:21 +01:00
widevine-cdm
2022-07-20 21:00:50 +02:00
libreoffice
2022-07-27 20:09:09 +02:00
nextcloud-client
2024-07-01 22:40:58 +02:00
tuba
2022-10-20 18:12:06 +02:00
dino
2022-10-29 15:36:16 +02:00
minetest
mumble
2022-11-09 21:59:03 +01:00
obs-studio
foliate
2022-11-21 21:59:09 +01:00
pinta
2023-01-31 16:35:28 +01:00
sequeler
2023-02-02 20:25:56 +01:00
endeavour
zotero
2023-02-02 20:25:03 +01:00
prismlauncher
2024-07-01 22:40:58 +02:00
element-desktop
2023-02-22 10:16:53 +01:00
stack
sqlite
sqlite.dev
gparted
2023-03-03 12:16:46 +01:00
inkscape
fragments
2022-07-20 21:00:50 +02:00
];
};
2023-03-03 12:16:46 +01:00
networking.extraHosts = ''
86.95.92.180 apprise.prod.gaiaplant.app
'';
2023-02-22 10:16:53 +01:00
services.avahi.enable = false;
virtualisation.podman.enable = true;
virtualisation.docker.enable = true;
2022-07-20 21:00:50 +02:00
nixpkgs.config.allowUnfree = true;
2024-07-01 22:40:58 +02:00
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
2022-10-29 15:36:16 +02:00
inter
2022-12-01 20:48:58 +01:00
google-fonts
2023-02-07 16:41:21 +01:00
vistafonts
];
2022-07-20 21:00:50 +02:00
environment.systemPackages = with pkgs; [
neovim
git
wget
file
unzip
zip
nodejs-18_x
steam-run
2023-02-22 10:16:53 +01:00
podman
2022-11-21 21:59:09 +01:00
docker-compose
2022-07-20 21:00:50 +02:00
ripgrep
bottom
skim
2024-07-01 22:40:58 +02:00
eza
2022-07-20 21:00:50 +02:00
bat
lf
fd
htop
vim
2022-07-25 20:19:50 +02:00
wl-clipboard
tmux
2022-09-22 20:29:18 +02:00
fprintd
libfprint-2-tod1-vfs0090
2022-10-12 15:02:15 +02:00
direnv
nix-direnv
2022-10-12 17:42:51 +02:00
openvpn
2022-10-29 15:36:16 +02:00
udev
2022-11-09 21:59:03 +01:00
usbutils
2023-02-02 20:25:03 +01:00
evolution-ews
evolution
2022-07-27 20:09:09 +02:00
2022-09-27 17:24:35 +02:00
gnome.gnome-tweaks
2022-07-27 20:09:09 +02:00
gnomeExtensions.tray-icons-reloaded
2024-07-02 00:02:17 +02:00
2022-09-22 20:29:18 +02:00
gnomeExtensions.clipboard-history
gnomeExtensions.alphabetical-app-grid
2022-10-13 21:47:07 +02:00
aspell
aspellDicts.en
aspellDicts.nl
2022-10-12 17:42:51 +02:00
gnome.networkmanager-openvpn
2022-07-20 21:00:50 +02:00
];
2022-07-27 20:09:09 +02:00
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
2022-09-22 20:29:18 +02:00
services.fprintd.enable = true;
2022-07-27 20:09:09 +02:00
2022-10-17 20:00:06 +02:00
services.power-profiles-daemon.enable = false;
services.tlp.enable = true;
2023-02-02 20:25:03 +01:00
services.flatpak.enable = true;
2022-07-20 21:00:50 +02:00
system.stateVersion = "22.05"; # Did you read the comment?
2022-11-06 21:24:32 +01:00
systemd.services."99setbacklight" = let set-backlight-script = (pkgs.writeShellApplication {
2022-10-24 13:34:49 +02:00
name = "set-backlight-script";
text = ''
2024-07-02 00:02:17 +02:00
2022-10-24 13:34:49 +02:00
for d in /sys/class/backlight/*; do
2022-11-21 21:59:09 +01:00
cd "$d"
2022-10-24 13:34:49 +02:00
echo $(( $(cat max_brightness) / 2)) > brightness
done
'';
});
2022-11-21 21:59:09 +01:00
in {
2022-10-24 13:34:49 +02:00
enable = true;
2022-11-06 21:24:32 +01:00
after = ["systemd-backlight@.service"];
2024-07-02 00:02:17 +02:00
2022-10-24 13:34:49 +02:00
description = "bar";
unitConfig = {
Type = "simple";
};
serviceConfig = {
2022-11-21 21:59:09 +01:00
ExecStart = "${set-backlight-script}/bin/set-backlight-script";
2022-10-24 13:34:49 +02:00
};
wantedBy = [ "multi-user.target" ];
};
2022-07-20 21:00:50 +02:00
}