{ config, lib, pkgs, inputs, ... }: { imports = [ ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.framework-13-7040-amd ]; nixpkgs.config.allowUnfree = true; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "pickwick"; networking.networkmanager.enable = true; time.timeZone = "America/Chicago"; i18n.defaultLocale = "en_US.UTF-8"; services.xserver.enable = true; # services.displayManager.sddm.enable = true; # services.desktopManager.plasma6.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; services.xserver.xkb.layout = "us"; # services.xserver.xkb.options = "caps:ctrl_modifier"; security.pam.services.login.fprintAuth = false; security.pam.services.sudo.fprintAuth = false; # framework setting services.fwupd.enable = true; # services.fwupd.package = (import (builtins.fetchTarball { # url = "https://github.com/NixOS/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz"; # sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk"; # }) { # inherit (pkgs) system; # }).fwupd; hardware.framework.amd-7040.preventWakeOnAC = true; services.pipewire = { enable = true; pulse.enable = true; jack.enable = true; }; services.libinput.enable = true; users.users.root.hashedPasswordFile = "/persist/passwords/root"; users.users.rayandrew = { isNormalUser = true; # initialPassword = "12345"; hashedPasswordFile = "/persist/passwords/rayandrew"; extraGroups = [ "wheel" "audio" "keyd" ]; packages = with pkgs; [ firefox tree ]; }; users.groups.keyd = {}; environment.systemPackages = with pkgs; [ vim wget htop-vim # gnome keyd # gnomeExtensions.pop-launcher-super-key ]; environment.plasma6.excludePackages = with pkgs.kdePackages; [ # plasma-browser-integration # konsole oxygen ]; environment.gnome.excludePackages = with pkgs; [ baobab cheese epiphany simple-scan yelp evince file-roller geary gnome-tour gnome-initial-setup gnome-music gnome-maps gnome-disk-utility ]; programs._1password.enable = true; programs._1password-gui = { enable = true; polkitPolicyOwners = [ "rayandrew" ]; }; environment.etc = { "1password/custom_allowed_browsers" = { text = '' firefox ''; mode = "0755"; }; }; programs.dconf.enable = true; fileSystems."/persist".neededForBoot = true; environment.persistence."/persist/system" = { hideMounts = true; directories = [ "/etc/nixos" # "/etc/gdm" "/var/log" "/var/lib/fprint" "/var/lib/nixos" "/var/lib/bluetooth" "/var/lib/systemd/coredump" "/etc/NetworkManager/system-connections" { directory = "/var/lib/colord"; user = "colord"; group = "colord"; mode = "u=rwx,g=rx,o="; } ]; files = [ "/etc/machine-id" ]; }; programs.fuse.userAllowOther = true; home-manager = { extraSpecialArgs = {inherit inputs pkgs;}; users = { "rayandrew" = import ./home.nix; }; useGlobalPkgs = true; useUserPackages = true; }; # xdg.portal = { # enable = true; # xdgOpenUsePortal = true; # extraPortals = [ # pkgs.xdg-desktop-portal-gnome # pkgs.xdg-desktop-portal-gtk # ]; # }; services.keyd = { enable = true; keyboards = { default = { ids = [ "*" ]; settings = { main = { capslock = "layer(capslock)"; insert = "S-insert"; # capslock = "layer(control)"; }; meta = { w = "macro(C-w)"; a = "macro(C-a)"; }; "capslock:C" = { }; }; }; framework = { ids = [ "0001:0001:a38e6885" ]; settings = { main = { leftalt = "layer(meta)"; leftmeta = "layer(alt)"; }; }; }; normal = { ids = [ "413c:2107:eb8bfad1" ]; settings = { main = { leftalt = "layer(meta)"; leftmeta = "layer(alt)"; }; }; }; }; }; systemd.services.keyd.serviceConfig.CapabilityBoundingSet = [ "CAP_SETGID" ]; system.stateVersion = "24.11"; }