diff options
Diffstat (limited to 'fw/configuration.nix')
| -rw-r--r-- | fw/configuration.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/fw/configuration.nix b/fw/configuration.nix new file mode 100644 index 0000000..9c14d37 --- /dev/null +++ b/fw/configuration.nix @@ -0,0 +1,91 @@ +{ config, lib, pkgs, ... }: +{ + imports = + [ + ../nixos + ./hardware-configuration.nix + ]; + + config.nixos = { + username = "stefan"; + hostname = "fw"; + }; + + config = { + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + services.openssh.enable = true; + + programs.light.enable = true; + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + services.kmonad = { + enable = false; + keyboards = { + internal = { + device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd"; + defcfg.enable = true; + config = builtins.readFile ../kmonad/miryoku.kbd; + }; + }; + }; + + users.users."stefan".extraGroups = [ "input" "uinput" "video" ]; # TODO: remove + + environment.gnome.excludePackages = with pkgs; [ + gnome-photos + geary + gnome-tour + cheese + gnome-music + gedit + epiphany + gnome-characters + tali + iagno + hitori + atomix + yelp + gnome-contacts + gnome-initial-setup + ]; + programs.dconf.enable = true; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Set your time zone. + time.timeZone = "America/New_York"; + + console.useXkbConfig = true; + + # Enable automatic login for the user. + # services.getty.autologinUser = "stefan"; + + # services.interception-tools = { + # enable = true; + # plugins = [ pkgs.interception ] + # udevmonConfig = '' + # - 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] + # ''; + # }; + services.fwupd.enable = true; + systemd.services.fprintd = { + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "simple"; + }; + services.fprintd.enable = true; + services.fprintd.tod.enable = true; + services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; + boot.initrd.systemd.enable = true; + environment.systemPackages = [ pkgs.tpm2-tss ]; + system.stateVersion = "25.05"; + }; +} |