{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # swap on luks boot.initrd.secrets = { "/crypto_keyfile.bin" = null; }; boot.initrd.luks.devices."luks-5cbabb1a-ed3b-44da-b4c0-894c2265d8c0".device = "/dev/disk/by-uuid/5cbabb1a-ed3b-44da-b4c0-894c2265d8c0"; boot.initrd.luks.devices."luks-5cbabb1a-ed3b-44da-b4c0-894c2265d8c0".keyFile = "/crypto_keyfile.bin"; networking.hostName = "oracle"; networking.networkmanager.enable = true; time.timeZone = "America/Vancouver"; i18n.defaultLocale = "en_CA.UTF-8"; sound.enable = true; hardware.pulseaudio.enable = false; hardware.bluetooth.enable = true; security.rtkit.enable = true; programs.zsh.enable = true; users.users.shubh = { isNormalUser = true; shell = pkgs.zsh; extraGroups = [ "networkmanager" "wheel" "docker" ]; }; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ neovim git interception-tools ]; services = { xserver = { enable = true; layout = "us"; displayManager = { sddm.enable = true; defaultSession = "plasmawayland"; }; desktopManager.plasma5.enable = true; libinput.enable = true; }; pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; interception-tools = { enable = true; plugins = with pkgs; [ interception-tools-plugins.caps2esc ]; udevmonConfig = '' - JOB: "intercept -g $DEVNODE | caps2esc | uinput -d $DEVNODE" - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" DEVICE: EVENTS: EV_KEY: [KEY_CAPSLOCK, KEY_ESC] ''; }; }; virtualisation.docker.enable = true; nix = { extraOptions = '' experimental-features = nix-command flakes ''; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.05"; # Did you read the comment? }