summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'hosts')
-rw-r--r--hosts/base.nix2
-rw-r--r--hosts/local/fw11/configuration.nix2
-rw-r--r--hosts/local/fw11/thinkpad.kbd101
-rw-r--r--hosts/local/gui.nix1
-rw-r--r--hosts/local/niri.nix224
-rw-r--r--hosts/local/sway.nix (renamed from hosts/local/wayland.nix)0
-rw-r--r--hosts/local/thinkpad.kbd15
7 files changed, 235 insertions, 110 deletions
diff --git a/hosts/base.nix b/hosts/base.nix
index 43103c5..31bed5a 100644
--- a/hosts/base.nix
+++ b/hosts/base.nix
@@ -24,7 +24,7 @@
'';
settings = {
substituters = [
- "https://cache-nixos.org"
+ "https://cache.nixos.org"
"https://cuda-maintainers.cachix.org"
"https://nix-community.cachix.org"
"https://nix-gaming.cachix.org"
diff --git a/hosts/local/fw11/configuration.nix b/hosts/local/fw11/configuration.nix
index 354e441..71eef5d 100644
--- a/hosts/local/fw11/configuration.nix
+++ b/hosts/local/fw11/configuration.nix
@@ -26,7 +26,7 @@
../../linux.nix
# ../../syncthing.nix
../../unfree.nix
- ../wayland.nix
+ ../niri.nix
../gui.nix
./keyboard.nix
# ../android.nix
diff --git a/hosts/local/fw11/thinkpad.kbd b/hosts/local/fw11/thinkpad.kbd
deleted file mode 100644
index 7fb53d2..0000000
--- a/hosts/local/fw11/thinkpad.kbd
+++ /dev/null
@@ -1,101 +0,0 @@
-;; one liner comments ';;'
-#| Multiline
- comments |#
-
-(defcfg ;; For linux & by-id lists pluggable devices
-;; If a key is not bound/left_empty(_) then it will fall back to the previous
-;; layer's binding if not then default.
-fallthrough true
-;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers.
-;; allow-cmd true
-;; use 'ls /dev/input/by-id/' for detachable keyboards and
-;; 'ls /dev/input/by-path/' for builtin keyboards location'
-input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd")
-;; Not sure what this does. Please check the docs.
-output (uinput-sink "My KMonad output")
-)
-
-;; This is the real representation of your actual keyboard. We haven't started
-;; customizing layouts yet.
-(defsrc
- esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del
- ` 1 2 3 4 5 6 7 8 9 0 - = bspc
- tab q w e r t y u i o p [ ] \
- caps a s d f g h j k l ; ' ret
- lsft z x c v b n m , . / rsft up
- lctl lmet lalt spc ralt rctl left down right
-)
-;; Aliases
-
-(defalias
-;; Layer toggles
-sym (layer-toggle syms)
-sym2 (layer-toggle syms2)
-cords (sticky-key 1000 (layer-toggle mods))
-;;
-hrt (layer-switch homerowmods)
-back (layer-switch qwerty)
-
-;; Homerow keys
-a (tap-hold-next-release 280 a lctl)
-s (tap-hold-next-release 280 s lalt)
-d (tap-hold-next-release 280 d lmet)
-f (tap-hold-next-release 280 f lsft)
-;;
-j (tap-hold-next-release 280 j rsft)
-k (tap-hold-next-release 280 k lmet)
-l (tap-hold-next-release 280 l lalt)
-semi (tap-hold-next-release 280 ; rctl)
-
-;; button to launch brave browser
-;; veeb (cmd-button "brave")
-;; ssf (sticky-key 500 (layer-toggle rshift))
-;; rsf (layer-toggle rshift)
-)
-
-;; The first custom layer is the one that gets activated when kmonad is started
-(deflayer qwerty ;; The default layer that'd be read when you launch kmonad
- esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del
- ` 1 2 3 4 5 6 7 8 9 0 - = bspc
- tab q w e r t y u i o p [ ] \
- esc a s d f g h j k l ; ' ret
- @sym z x c v b n m , . / rsft up
- lctl lmet @sym spc @cords @hrt left down right
-)
-(deflayer homerowmods
- esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del
- ` 1 2 3 4 5 6 7 8 9 0 - = bspc
- tab q w e r t y u i o p [ ] \
- esc @a @s @d @f g h @j @k @l @semi ' ret
- @sym z x c v b n m , . / rsft up
- lctl lmet @sym spc lalt @back left down right
-)
-(deflayer mods
- esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del
- ` 1 2 3 4 5 6 7 8 9 0 - = bspc
- tab q w e r t y u i o p [ ] h
- esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret
- @sym z x c v b n m , . / rsft up
- lctl lmet @sym spc lalt @back left down right
-)
-
-;; A layer dedicated to symbols
-(deflayer syms
- _ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ up _ _ ! @ # $ % _ _ _
- _ _ left down right @sym2 ' ^ & - = _ ret
- _ _ _ _ _ _ \( [ { < \ _ _
- _ _ _ _ _ _ _ _ _
-)
-
-
-;; More symbols
-(deflayer syms2
- _ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ _ _ _ ` ~ * \_ + _ ret
- _ _ _ _ _ _ \) ] } > | _ _
- _ _ _ _ _ _ _ _ _
-)
diff --git a/hosts/local/gui.nix b/hosts/local/gui.nix
index 548b3ea..81f97b1 100644
--- a/hosts/local/gui.nix
+++ b/hosts/local/gui.nix
@@ -4,6 +4,7 @@
...
}: {
environment.systemPackages = with pkgs; [
+ pavucontrol
#terminals
kitty
alacritty
diff --git a/hosts/local/niri.nix b/hosts/local/niri.nix
new file mode 100644
index 0000000..7db141e
--- /dev/null
+++ b/hosts/local/niri.nix
@@ -0,0 +1,224 @@
+{
+ inputs,
+ pkgs,
+ ...
+}: {
+ nixpkgs.config.packageOVerrides = pkgs: {
+ intel-vaapi-driver = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;};
+ vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;};
+ };
+ hardware.graphics = {
+ enable = true;
+ enable32Bit = true;
+ extraPackages = [
+ pkgs.mesa
+ pkgs.vaapiVdpau
+ pkgs.libvdpau-va-gl
+ ];
+ };
+ programs.niri = {
+ enable = true;
+ };
+
+ environment.variables = {
+ WLR_NO_HARDWARE_CURSOR = "1";
+ };
+ environment.sessionVariables = {
+ WLR_NO_HARDWARE_CURSOR = "1";
+ NIXOS_OZONE_WL = "1";
+ SDL_VIDEODRIVER = "wayland";
+ QT_QPA_PLATFORM = "wayland";
+ QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
+ _JAVA_AWT_WM_NONREPARENTING = "1";
+ MOZ_ENABLE_WAYLAND = "1";
+
+ # GTK_IM_MODULE = "fcitx";
+ # QT_IM_MODULE = "fcitx";
+ # SDL_IM_MODULE = "fcitx";
+
+ XDG_CURRENT_DESKTOP = "sway";
+ GDK_BACKEND = "wayland";
+ XDG_SESSION_TYPE = "wayland";
+ XMODIFIERS = "@im=fcitx";
+ };
+
+ xdg.portal = {
+ enable = true;
+ extraPortals = with pkgs; [
+ # xdg-desktop-portal-hyprland
+ # xdg-desktop-portal-cosmic
+ xdg-desktop-portal-gtk
+ xdg-desktop-portal-gnome
+ ];
+ config = {
+ common = {
+ default = [
+ "gnome"
+ "gtk"
+ ];
+ "org.freedesktop.impl.portal.Access" = ["gtk"];
+ "org.freedesktop.impl.portal.Notification" = ["gtk"];
+ "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
+ "org.freedesktop.impl.portal.FileChooser" = ["gtk"];
+ };
+ };
+ };
+ environment.systemPackages = with pkgs; [
+ quickshell
+ cosmic-panel
+ fuzzel
+ #
+ cliphist
+ hypridle
+ hyprlock
+ networkmanagerapplet
+ playerctl
+ qalculate-gtk
+ swaynotificationcenter
+ swayosd
+ syncthingtray
+ wl-clipboard
+ wl-clip-persist
+ wl-color-picker
+ wofi-power-menu
+
+ # xdg-utils
+ # xdg-desktop-portal
+ # xdg-desktop-portal-wlr
+ # xdg-desktop-portal-gtk
+ # # calibre
+ # # nyxt
+ # wofi
+ # imv
+ # swaylock
+ # brightnessctl
+ # swayidle
+ # foot
+ # mako
+ # kanshi
+ # grim
+ # slurp
+ # wl-clipboard
+ # wf-recorder
+ # viewnior
+ # playerctl
+ # blueman
+ # wdisplays
+ # inputs.waybar.packages.x86_64-linux.default
+ # glxinfo
+ # vulkan-tools
+ # glmark2
+ # intel-media-driver
+ # intel-vaapi-driver
+ # pavucontrol
+ # # icons
+ # polkit_gnome
+ # gnome-themes-extra
+ # gtk-engine-murrine
+ # gtk_engines
+ # gsettings-desktop-schemas
+ # lxappearance
+ # adwaita-qt
+ # adwaita-icon-theme
+ # libcamera # pipewire seems to want this
+ # easyeffects
+ # tigervnc
+ # foliate
+ # # code
+ # kdePackages.kompare
+ # meld
+ # # tmp
+ # # browser TTS
+ # # speechd
+ # # espeak-ng
+ # # espeak-ng-data
+ # wineWowPackages.waylandFull
+ # libcamera # pipewire seems to want this
+ # tracy # cool system watcher
+ ];
+ services.speechd.enable = true;
+
+ # cjk input
+
+ i18n.inputMethod = {
+ type = "fcitx5";
+ enable = true;
+ fcitx5 = {
+ # enabled = true;
+ addons = with pkgs; [
+ rime-data
+ fcitx5-rime
+ fcitx5-mozc
+ fcitx5-configtool
+ fcitx5-chinese-addons
+ fcitx5-gtk
+ ];
+ waylandFrontend = true;
+ };
+ };
+ services.xserver.desktopManager.runXdgAutostartIfNone = true;
+
+ fonts = {
+ enableDefaultPackages = true;
+ fontconfig = {
+ defaultFonts.emoji = ["Noto Color Emoji"];
+ defaultFonts.monospace = ["Hack" "Sarasa Mono SC"];
+ defaultFonts.sansSerif = ["DejaVu Sans"];
+ defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"];
+ };
+ packages = with pkgs;
+ [
+ fira-code
+ fira
+ cooper-hewitt
+ ibm-plex
+ jetbrains-mono
+ iosevka
+ spleen
+ fira-code-symbols
+ powerline-fonts
+ arphic-ukai
+ arphic-uming
+ dejavu_fonts
+ font-awesome
+ inconsolata # monospaced
+ noto-fonts
+ noto-fonts-cjk-sans
+ noto-fonts-emoji
+ noto-fonts-extra
+ powerline-fonts
+ source-han-sans-japanese
+ source-han-sans-korean
+ source-han-sans-simplified-chinese
+ source-han-sans-traditional-chinese
+ source-sans-pro
+ ubuntu_font_family
+ wqy_microhei
+ wqy_zenhei
+ ]
+ ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
+ };
+
+ # screen capture
+ #
+
+ services.dbus.enable = true;
+ ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations
+
+ # rtkit is optional but recommended
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ wireplumber.enable = true;
+ # If you want to use JACK applications, uncomment this
+ jack.enable = true;
+ };
+
+ # pipewire requires these off
+ # sound.enable = true;
+ # hardware.pulseaudio.enable = true;
+ # hardware.bluetooth.enable = true;
+}
diff --git a/hosts/local/wayland.nix b/hosts/local/sway.nix
index e881fec..e881fec 100644
--- a/hosts/local/wayland.nix
+++ b/hosts/local/sway.nix
diff --git a/hosts/local/thinkpad.kbd b/hosts/local/thinkpad.kbd
index 82de2e2..e7bb184 100644
--- a/hosts/local/thinkpad.kbd
+++ b/hosts/local/thinkpad.kbd
@@ -61,7 +61,7 @@ semi (tap-hold-next-release 280 ; rctl)
tab q w e r t y u i o p [ ] \
esc a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
- lctl lmet @sym spc @cords @hrt left up right
+ lctl lmet @sym spc @cords @hrt pgup up pgdn
left down right
)
(deflayer homerowmods
@@ -70,7 +70,7 @@ semi (tap-hold-next-release 280 ; rctl)
tab q w e r t y u i o p [ ] \
esc @a @s @d @f g h @j @k @l @semi ' ret
lsft z x c v b n m , . / rsft
- lctl lmet @sym spc lalt @back left up right
+ lctl lmet @sym spc lalt @back pgup up pgdn
left down right
)
(deflayer mods
@@ -79,18 +79,19 @@ semi (tap-hold-next-release 280 ; rctl)
tab q w e r t y u i o p [ ] h
esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret
lsft z x c v b n m , . / rsft
- lctl lmet @sym spc lalt @back left up right
+ lctl lmet @sym spc lalt @back pgup up pgdn
left down right
-)
+)
;; A layer dedicated to symbols
(deflayer syms
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 pgup pgdn ins del
_ _ _ _ _ _ _ _ _ _ _ _ _ _
- _ _ _ up _ _ ! @ # $ % _ _ _
- _ _ left down right @sym2 ' ^ & - = _ ret
+ _ _ _ up _ _ ! @ # $ % pgup _ _
+ _ _ left down right @sym2 ' ^ & - = pgdn ret
_ _ _ _ _ _ \( [ { < \ _ _
- _ _ _ _ _ _ _ _ _ _ _
+ _ _ _ _ _ pgup pgup pgdn
+ l pgdn l
)