dotfiles/roles/workstation.nix

71 lines
2.2 KiB
Nix
Raw Normal View History

2017-02-02 16:31:19 +01:00
{ config, lib, pkgs, ... }:
2020-05-21 17:39:38 +02:00
let
nixNetrcFile = pkgs.runCommand "nix-netrc-file"
{ hostname = "cache.lumi.guide";
username = "lumi";
} ''
cat > $out <<EOI
machine $hostname
login $username
password ${builtins.readFile /home/yorick/engineering/lumi/secrets/shared/passwords/nix-serve-password}
EOI
'';
in
2017-02-02 16:31:19 +01:00
{
imports = [
2020-05-21 17:39:38 +02:00
./graphical.nix
2017-02-02 16:31:19 +01:00
];
2020-05-21 17:39:38 +02:00
users.extraUsers.yorick.extraGroups = [ "input" "wireshark" "dialout" ];
2017-02-02 16:31:19 +01:00
services.printing = {
enable = true;
drivers = [ pkgs.gutenprint ];
};
2020-05-21 17:39:38 +02:00
environment.systemPackages = with pkgs; [
pkgs.ghostscript pkgs.yubikey-manager
];
virtualisation.virtualbox.host.enable = false;
2017-02-02 16:31:19 +01:00
yorick.support32bit = true;
2018-03-10 17:15:37 +01:00
# yubikey
hardware.u2f.enable = true;
services.pcscd.enable = true;
2018-03-11 18:28:25 +01:00
#environment.systemPackages = [pkgs.yubikey-manager];
fonts.fonts = [ pkgs.emojione ];
# bluetooth headphones
hardware.pulseaudio.package = pkgs.pulseaudioFull;
programs.wireshark.enable = true;
2018-05-12 18:13:48 +02:00
nix = {
gc.automatic = pkgs.lib.mkOverride 30 false;
binaryCaches = [
"https://cache.nixos.org"
2020-05-21 17:39:38 +02:00
"https://cache.lumi.guide/"
"s3://yorick-cache?endpoint=s3.eu-central-1.wasabisys.com&profile=wasabi-private"
#"https://nixpkgs-wayland.cachix.org"
2018-05-12 18:13:48 +02:00
];
trustedBinaryCaches = config.nix.binaryCaches ++ [
"ssh://yorick@jupiter.serokell.io"
"ssh-ng://jupiter"
"https://serokell.cachix.org"
2018-05-12 18:13:48 +02:00
];
binaryCachePublicKeys = [
"serokell:ic/49yTkeFIk4EBX1CZ/Wlt5fQfV7yCifaJyoM+S3Ss="
"serokell-1:aIojg2Vxgv7MkzPJoftOO/I8HKX622sT+c0fjnZBLj0="
2018-05-12 18:13:48 +02:00
"cache.lumi.guide-1:z813xH+DDlh+wvloqEiihGvZqLXFmN7zmyF8wR47BHE="
"serokell.cachix.org-1:5DscEJD6c1dD1Mc/phTIbs13+iW22AVbx0HqiSb+Lq8="
2020-05-21 17:39:38 +02:00
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
2018-05-12 18:13:48 +02:00
];
2020-05-21 17:39:38 +02:00
extraOptions = ''
netrc-file = ${nixNetrcFile}
'';
};
services.avahi = {
enable = true;
nssmdns = true;
2018-05-12 18:13:48 +02:00
};
2020-05-21 17:39:38 +02:00
virtualisation.libvirtd.enable = true;
users.users.yorick.extraGroups = [ "libvirtd" ];
users.users.yorick.shell = pkgs.fish;
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5bf0", MODE="0664", GROUP="dialout"
'';
2018-05-12 18:15:42 +02:00
}