nixos/modules/hosts/crow/configuration.nix
2026-06-22 18:49:07 -04:00

144 lines
3.3 KiB
Nix

{ self, inputs, ... }: {
flake.nixosModules.crowConfiguration = { pkgs, ... }: {
imports = [
self.nixosModules.crowHardware
self.nixosModules.nest
self.nixosModules.niri
self.nixosModules.git
self.nixosModules.sddm
self.nixosModules.hsr
self.nixosModules.zsh
self.nixosModules.vesktop
self.nixosModules.fuzzel
self.nixosModules.flameshot
];
environment.systemPackages = with pkgs; [
pavucontrol
bolt-launcher
wine
usbutils
virt-manager
prismlauncher
kubectl
kompose
lens
htop
zip
unzip
dig
traceroute
neovim
wget
pciutils
alacritty
brave
lutris
steam
easyeffects
openssl
jq
# Wrap Element so it knows where gnome-libsecret is
# Additionally, override the config to disable legacy call protocol
(let
elementConfig = pkgs.writeText "element-config.json" (builtins.toJSON {
default_server_config = {
"m.homeserver" = {
base_url = "https://starling.mynest.love";
server_name = "starling.mynest.love";
};
};
features = {
"feature_group_calls" = true;
"feature_video_rooms" = false;
"feature_element_call_video_rooms" = false;
};
element_call = {
url = null;
use_exclusively = true;
};
jitsi = {
preferred_domain = null;
};
});
in symlinkJoin {
name = "element-desktop";
paths = [ element-desktop ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/element-desktop \
--add-flags "--password-store=gnome-libsecret --config-path ${elementConfig}"
'';
})
];
nixpkgs.overlays = [
# Open LDAP currently has a problem
# with one of the tests. Just disable it
(final: prev: {
openldap = prev.openldap.overrideAttrs (oldAttrs: {
doCheck = false;
});
})
];
networking.networkmanager.enable = true;
networking.hostName = "crow";
fonts.packages = with pkgs; [
nerd-fonts.fira-code
nerd-fonts.droid-sans-mono
noto-fonts
];
services = {
openssh.enable = true;
blueman.enable = true;
};
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
timeout = 1;
};
kernelPackages = pkgs.linuxPackages_latest;
kernelModules = [ "amdgpu" ];
# "Silent" boot
initrd.verbose = false;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
};
time.timeZone = "America/New_York";
time.hardwareClockInLocalTime = false;
hardware.graphics = {
enable = true;
enable32Bit = true;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "26.05";
};
}