diff --git a/src/home/default.nix b/src/home/default.nix index 39828a8..df0bf3f 100644 --- a/src/home/default.nix +++ b/src/home/default.nix @@ -14,6 +14,7 @@ ./gui ./shell ./ssh.nix + ./vim.nix ]; config = { diff --git a/src/home/gui/chromium.nix b/src/home/gui/chromium.nix new file mode 100644 index 0000000..60d7b82 --- /dev/null +++ b/src/home/gui/chromium.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + programs.chromium = { + enable = true; + }; +} diff --git a/src/home/gui/default.nix b/src/home/gui/default.nix index 15ae392..22a0d0d 100644 --- a/src/home/gui/default.nix +++ b/src/home/gui/default.nix @@ -3,6 +3,7 @@ { imports = [ ./1password.nix + ./chromium.nix ./discord.nix ./firefox.nix ./keyd.nix @@ -11,6 +12,7 @@ ./slack.nix ./skype.nix ./spotify.nix + ./teams.nix ./vscode.nix ./wezterm.nix ./xdg-portal.nix @@ -19,6 +21,11 @@ ]; config = { + home.packages = with pkgs; [ + xclip + wl-clipboard + ]; + gtk = { enable = true; # theme = { diff --git a/src/home/gui/gnome.nix b/src/home/gui/gnome.nix index 852dd30..8186e14 100644 --- a/src/home/gui/gnome.nix +++ b/src/home/gui/gnome.nix @@ -11,6 +11,9 @@ ]; dconf.settings = { + "org/gnome/session" = { + idle-delay = 0; + }; "org/gnome/shell" = { disable-user-extensions = false; enabled-extensions = [ @@ -75,9 +78,11 @@ switch-to-application-7 = []; switch-to-application-8 = []; switch-to-application-9 = []; + show-screenshot-ui = [ "Print" "o" ]; }; "org/gnome/settings-daemon/plugins/media-keys" = { video-out = [ ]; + rotate-video-lock-static = [ "XF88RotationLockToggle" ]; custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/" ]; @@ -95,9 +100,10 @@ }; "org/gnome/shell/extensions/pop-shell" = { activate-launcher = [ "Space" ]; - toggle-float = [ "p" ]; + toggle-floating = [ "p" ]; tile-enter = ["r"]; tile-by-default = true; + tile-orientation = [ "v" ]; toggle-stacking-global = [ "s" ]; }; "org/gnome/desktop/background" = { @@ -106,10 +112,14 @@ "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; show-battery-percentage = true; + clock-format = "12h"; }; "org/gnome/settings-daemon/plugins/power" = { ambient-enabled = false; }; + "org/gtk/Settings/FileChooser" = { + clock-format = "12h"; + }; }; custom.persist = { diff --git a/src/home/gui/kitty.nix b/src/home/gui/kitty.nix index 48119dd..f90453c 100644 --- a/src/home/gui/kitty.nix +++ b/src/home/gui/kitty.nix @@ -10,6 +10,7 @@ }; settings = { hide_window_decorations = "yes"; + enable_audio_bell = "no"; }; }; stylix.targets.kitty = { diff --git a/src/home/gui/teams.nix b/src/home/gui/teams.nix new file mode 100644 index 0000000..00b7fe5 --- /dev/null +++ b/src/home/gui/teams.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + teams-for-linux + ]; + + custom.persist = { + home.directories = [ + ".config/teams-for-linux" + ]; + }; +} diff --git a/src/home/vim.nix b/src/home/vim.nix new file mode 100644 index 0000000..7186cf0 --- /dev/null +++ b/src/home/vim.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + vim-full + ]; + + custom.persist = { + home.directories = [ + ".vim" + ]; + home.files = [ + ".vimrc" + ]; + }; +} diff --git a/src/hosts/pickwick/default.nix b/src/hosts/pickwick/default.nix index 8f9a614..3c97163 100644 --- a/src/hosts/pickwick/default.nix +++ b/src/hosts/pickwick/default.nix @@ -21,10 +21,24 @@ services.fwupd.enable = true; hardware.framework.amd-7040.preventWakeOnAC = true; services.fprintd.enable = true; - services.libinput.enable = true; + + services.printing.enable = true; + services.printing.drivers = with pkgs; [ + gutenprint + cnijfilter2 + brgenml1lpr + brgenml1cupswrapper + samsung-unified-linux-driver + ]; + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; programs.dconf.enable = true; + custom.touchpad.enable = true; custom.gnome = { enable = true; stylix = true; diff --git a/src/hosts/pickwick/home.nix b/src/hosts/pickwick/home.nix index 6d1837c..c906897 100644 --- a/src/hosts/pickwick/home.nix +++ b/src/hosts/pickwick/home.nix @@ -1,4 +1,7 @@ { config, pkgs, inputs, lib, ... }: { + home.packages = with pkgs; [ + fw-ectool + ]; } diff --git a/src/nixos/default.nix b/src/nixos/default.nix index 62dfad9..36e016d 100644 --- a/src/nixos/default.nix +++ b/src/nixos/default.nix @@ -15,6 +15,7 @@ ./keyd.nix ./nix.nix ./stylix.nix + ./touchpad.nix ./users.nix ./zfs.nix ]; diff --git a/src/nixos/keyd.nix b/src/nixos/keyd.nix index 2d9db46..bb51307 100644 --- a/src/nixos/keyd.nix +++ b/src/nixos/keyd.nix @@ -52,4 +52,11 @@ in systemd.services.keyd.serviceConfig.CapabilityBoundingSet = [ "CAP_SETGID" ]; + + environment.etc."libinput/local-overrides.quirks".text = lib.mkIf config.custom.touchpad.enable '' +[Serial Keyboards] +MatchUdevType=keyboard +MatchName=keyd virtual keyboard +AttrKeyboardIntegration=internal + ''; } diff --git a/src/nixos/touchpad.nix b/src/nixos/touchpad.nix new file mode 100644 index 0000000..a2e2186 --- /dev/null +++ b/src/nixos/touchpad.nix @@ -0,0 +1,15 @@ +{ pkgs, lib, config, ... }: + +{ + + options.custom = with lib; { + touchpad = { + enable = mkEnableOption "Enable touchpad"; + }; + }; + + config = lib.mkIf config.custom.touchpad.enable { + services.libinput.enable = true; + services.libinput.touchpad.disableWhileTyping = true; + }; +} diff --git a/src/nixos/zfs.nix b/src/nixos/zfs.nix index 2c7a821..63c7251 100644 --- a/src/nixos/zfs.nix +++ b/src/nixos/zfs.nix @@ -7,23 +7,23 @@ package = pkgs.zfs_unstable; requestEncryptionCredentials = true; }; - boot.kernelPackages = - assert lib.assertMsg (lib.versionOlder pkgs.zfs_unstable.version "2.3") - "zfs 2.3 supports kernel 6.11 or greater"; - pkgs.linuxPackagesFor ( - pkgs.linux_xanmod_latest.override { - argsOverride = rec { - version = "6.10.11"; - modDirVersion = lib.versions.pad 3 "${version}-xanmod1"; - src = pkgs.fetchFromGitHub { - owner = "xanmod"; - repo = "linux"; - rev = modDirVersion; - hash = "sha256-FDWFpiN0VvzdXcS3nZHm1HFgASazNX5+pL/8UJ3hkI8="; - }; - }; - } - ); + # boot.kernelPackages = + # assert lib.assertMsg (lib.versionOlder pkgs.zfs_unstable.version "2.3") + # "zfs 2.3 supports kernel 6.11 or greater"; + # pkgs.linuxPackagesFor ( + # pkgs.linux_xanmod_latest.override { + # argsOverride = rec { + # version = "6.10.11"; + # modDirVersion = lib.versions.pad 3 "${version}-xanmod1"; + # src = pkgs.fetchFromGitHub { + # owner = "xanmod"; + # repo = "linux"; + # rev = modDirVersion; + # hash = "sha256-FDWFpiN0VvzdXcS3nZHm1HFgASazNX5+pL/8UJ3hkI8="; + # }; + # }; + # } + # ); systemd.services = { # https://github.com/openzfs/zfs/issues/10891