aboutsummaryrefslogtreecommitdiff
path: root/fw/configuration.nix
diff options
context:
space:
mode:
authorStefan Weigl-Bosker <stefan@s00.xyz>2025-06-24 13:10:57 -0400
committerStefan Weigl-Bosker <stefan@s00.xyz>2025-06-24 13:10:57 -0400
commitf6cb5fe08b97af63fbdd2d32ff8896c142536850 (patch)
tree683bdd10af9cac7927546b15db3745085a281f6e /fw/configuration.nix
parent2a9a6f104b95789ed218942bcf30f8b22ffda0f9 (diff)
downloadhome-f6cb5fe08b97af63fbdd2d32ff8896c142536850.tar.gz
fw: init
Diffstat (limited to 'fw/configuration.nix')
-rw-r--r--fw/configuration.nix91
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";
+ };
+}