2017-02-02 16:31:19 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
2022-04-11 13:26:26 +02:00
|
|
|
{
|
2022-07-06 09:25:49 +02:00
|
|
|
services.fwupd.enable = true;
|
2023-04-23 09:42:35 +02:00
|
|
|
programs.fish.enable = true;
|
2022-04-11 13:26:26 +02:00
|
|
|
users.users.yorick = {
|
|
|
|
extraGroups = [ "input" "wireshark" "dialout" "video" "libvirtd" ];
|
|
|
|
shell = pkgs.fish;
|
|
|
|
};
|
2017-02-02 16:31:19 +01:00
|
|
|
services.printing = {
|
|
|
|
enable = true;
|
2022-04-11 13:26:26 +02:00
|
|
|
drivers = with pkgs; [ gutenprint cups-dymo ];
|
2017-02-02 16:31:19 +01:00
|
|
|
};
|
2020-05-21 17:39:38 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
2022-04-11 13:26:26 +02:00
|
|
|
ghostscript yubikey-manager glib
|
2020-05-21 17:39:38 +02:00
|
|
|
];
|
2021-01-02 20:49:28 +01:00
|
|
|
environment.sessionVariables.XDG_DATA_DIRS = with pkgs; [
|
|
|
|
"${gnome-themes-extra}/share"
|
|
|
|
"${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
|
2022-04-11 13:26:26 +02:00
|
|
|
# emacs?
|
2021-01-02 20:49:28 +01:00
|
|
|
];
|
2018-05-12 18:13:48 +02:00
|
|
|
nix = {
|
|
|
|
gc.automatic = pkgs.lib.mkOverride 30 false;
|
2022-03-16 17:12:11 +01:00
|
|
|
settings.substituters = [
|
2018-05-12 18:13:48 +02:00
|
|
|
"https://cache.nixos.org"
|
2021-01-03 17:01:33 +01:00
|
|
|
#"s3://yori-nix?endpoint=s3.eu-central-003.backblazeb2.com&profile=backblaze-read"
|
2020-05-21 17:39:38 +02:00
|
|
|
#"https://nixpkgs-wayland.cachix.org"
|
2018-05-12 18:13:48 +02:00
|
|
|
];
|
2022-03-16 17:12:11 +01:00
|
|
|
settings.trusted-public-keys = [
|
2021-01-03 17:01:33 +01:00
|
|
|
#"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
|
|
|
"yorick:Pmd0gyrTvVdzpQyb/raHJKdoOag8RLaj434qBgMm4I0="
|
2018-05-12 18:13:48 +02:00
|
|
|
];
|
2020-05-21 17:39:38 +02:00
|
|
|
};
|
|
|
|
virtualisation.libvirtd.enable = true;
|
2022-04-11 13:26:26 +02:00
|
|
|
# fix glasgow, fomu, backlight
|
2020-05-21 17:39:38 +02:00
|
|
|
services.udev.extraRules = ''
|
2022-04-11 13:26:26 +02:00
|
|
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="20b7", ATTRS{idProduct}=="9db1", TAG+="uaccess"
|
|
|
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5bf0", TAG+="uaccess"
|
|
|
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness"
|
|
|
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
2020-05-21 17:39:38 +02:00
|
|
|
'';
|
2021-01-02 21:06:31 +01:00
|
|
|
|
|
|
|
# picoscope
|
|
|
|
services.udev.packages = [
|
|
|
|
(pkgs.writeTextDir "lib/udev/rules.d/95-pico.rules" ''
|
2022-04-11 13:26:26 +02:00
|
|
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ce9", TAG+="uaccess"
|
2021-01-02 21:06:31 +01:00
|
|
|
'')
|
|
|
|
];
|
|
|
|
|
|
|
|
# development
|
|
|
|
services.postgresql = {
|
2022-11-19 17:55:30 +01:00
|
|
|
enable = false;
|
2021-01-02 21:06:31 +01:00
|
|
|
enableTCPIP = true;
|
2022-11-19 17:55:30 +01:00
|
|
|
package = pkgs.postgresql_11;
|
2021-01-02 21:06:31 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
# git
|
|
|
|
boot.kernel.sysctl."fs.inotify.max_user_watches" = 1024000000;
|
2021-01-03 17:38:59 +01:00
|
|
|
|
|
|
|
yorick.lumi-vpn.enable = true;
|
2022-04-11 13:26:26 +02:00
|
|
|
yorick.lumi-cache.enable = true;
|
2021-05-23 17:19:28 +02:00
|
|
|
|
2021-08-14 12:18:09 +02:00
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true; # todo: support32bit?
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
2023-07-20 15:29:02 +02:00
|
|
|
# bluetooth battery indicator
|
|
|
|
hardware.bluetooth = {
|
|
|
|
package = pkgs.bluez5-experimental;
|
|
|
|
settings.General.Experimental = true;
|
|
|
|
};
|
2021-05-23 17:19:28 +02:00
|
|
|
xdg.portal = {
|
|
|
|
enable = true;
|
2022-09-15 10:14:50 +02:00
|
|
|
wlr.enable = true;
|
|
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
2021-05-23 17:19:28 +02:00
|
|
|
};
|
2022-04-11 13:26:26 +02:00
|
|
|
hardware.opengl = {
|
|
|
|
enable = true;
|
|
|
|
driSupport32Bit = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
fonts = {
|
|
|
|
fontDir.enable = true;
|
|
|
|
enableGhostscriptFonts = true;
|
|
|
|
fonts = with pkgs; [
|
|
|
|
corefonts # Micrsoft free fonts
|
|
|
|
inconsolata # monospaced
|
|
|
|
source-code-pro
|
|
|
|
ubuntu_font_family # Ubuntu fonts
|
2022-10-04 10:15:29 +02:00
|
|
|
source-han-sans
|
2023-05-10 20:48:13 +02:00
|
|
|
nerdfonts
|
2022-04-11 13:26:26 +02:00
|
|
|
iosevka
|
|
|
|
emojione
|
|
|
|
font-awesome
|
|
|
|
];
|
|
|
|
};
|
|
|
|
# spotify, castnow
|
|
|
|
networking.firewall = {
|
|
|
|
allowedTCPPorts = [ 55025 57621 5353 ];
|
|
|
|
allowedTCPPortRanges = [ { from = 4100; to = 4105; } ];
|
|
|
|
allowedUDPPorts = [ 55025 57621 ];
|
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
dconf.enable = true;
|
|
|
|
noisetorch.enable = true;
|
|
|
|
wireshark.enable = true;
|
2023-05-20 13:40:23 +02:00
|
|
|
kdeconnect.enable = true;
|
2022-04-11 13:26:26 +02:00
|
|
|
sway = {
|
|
|
|
enable = true;
|
|
|
|
extraSessionCommands = ''
|
|
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${
|
|
|
|
lib.makeLibraryPath (with pkgs; [ libxkbcommon libglvnd wayland ])
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
services.pcscd.enable = true;
|
2023-09-17 18:17:29 +02:00
|
|
|
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.webp-pixbuf-loader ];
|
2018-05-12 18:15:42 +02:00
|
|
|
}
|