From d0c05a7b856f15fbd30526b933e87ac3f1e9f8cc Mon Sep 17 00:00:00 2001 From: Kenryu Shibata Date: Tue, 30 Jun 2026 10:59:25 +0900 Subject: [PATCH] update --- assets/xkb/symbols/my-sym | 4 +- assets/xkb/symbols/my-sym-dvp | 55 ++++++++++++++++++++-- flake.lock | 67 ++++++++++++++++----------- flake.nix | 4 +- home/browser.nix | 2 +- home/cads.nix | 5 +- home/default.nix | 1 + home/i3.nix | 2 + home/picom.nix | 16 +++++-- home/xterm.nix | 11 +++++ home/zed.nix | 6 +-- hosts/waku/default.nix | 12 +++-- hosts/waku/hardware-configuration.nix | 2 + overlays/default.nix | 31 +++++++++++++ profiles/base.nix | 14 +++++- profiles/desktop.nix | 29 ++++++------ 16 files changed, 196 insertions(+), 65 deletions(-) create mode 100644 home/xterm.nix diff --git a/assets/xkb/symbols/my-sym b/assets/xkb/symbols/my-sym index 626c0eb..47dd13a 100644 --- a/assets/xkb/symbols/my-sym +++ b/assets/xkb/symbols/my-sym @@ -1,8 +1,8 @@ -partial alphanumeric_keys +partial alphanumeric_keys modifier_keys xkb_symbols "my-sym" { include "us(basic)" include "inet(evdev)" - name[Group1] = "English (US) with modified right side keys"; + name[Group1] = "English (US) with modified keys"; key {[ Return ], type[group1] = "ONE_LEVEL" }; key {[ Escape ], type[group1] = "ONE_LEVEL" }; diff --git a/assets/xkb/symbols/my-sym-dvp b/assets/xkb/symbols/my-sym-dvp index efd3c31..310eed1 100644 --- a/assets/xkb/symbols/my-sym-dvp +++ b/assets/xkb/symbols/my-sym-dvp @@ -1,8 +1,55 @@ -partial alphanumeric_keys modifier_keys +partial alphanumeric_keys xkb_symbols "my-sym-dvp" { - include "us(dvp)" - include "inet(evdev)" - name[Group1] = "English (US, Programmer Dvorak) with modified right side keys"; + include "us(dvorak)" + name[Group1] = "English (US, Programmer Dvorak) with modified keys"; + + // manual rebind for programmer dvorak + key { [ dollar, asciitilde, dead_tilde ] }; + key { [ ampersand, percent ] }; + key { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + + // symbols row, right side + key { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ exclam, 8, exclamdown, U2E18 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // reversed interrobang + key { [ numbersign, grave, dead_grave ] }; + + // upper row, left side + key { [ semicolon, colon, dead_diaeresis ] }; + key { [ comma, less, guillemotleft, U201C ] }; + key { [ period, greater, guillemotright, U201D ] }; + key { [ p, P, paragraph, section ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + + // upper row, right side + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ r, R, registered, trademark ] }; + key { [ slash, question, questiondown, U203D ] }; // interrobang + key { [ at, asciicircum, dead_circumflex, dead_caron ] }; + + // home row, left side + key { [ a, A, aring, Aring ] }; + key { [ o, O, oslash, Oslash ] }; + key { [ e, E, ae, AE ] }; + key { [ u, U, eacute, Eacute ] }; + + // home row, right side + key { [ d, D, eth, ETH ] }; + key { [ h, H, dead_acute ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ minus, underscore, hyphen, endash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ backslash, bar ] }; + + // lower row, left side + key { [ apostrophe, quotedbl, dead_acute ] }; key {[ Return ], type[group1] = "ONE_LEVEL" }; key {[ Escape ], type[group1] = "ONE_LEVEL" }; diff --git a/flake.lock b/flake.lock index 0121c1f..b14819f 100644 --- a/flake.lock +++ b/flake.lock @@ -19,11 +19,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1779726825, - "narHash": "sha256-RUkMrREjKDQrA+dA9+xZviGAxM5W1aVdyOr/bSYpHrE=", + "lastModified": 1782704057, + "narHash": "sha256-G1I1gd32F7mp9LAe1DaZ4ZL7NX5gyiKwdCMwro1Vrck=", "owner": "nix-community", "repo": "home-manager", - "rev": "b179bde238977f7d4454fc770b1a727eaf55111c", + "rev": "868d0a692de703c2de98fab61968e4e310b7c28e", "type": "github" }, "original": { @@ -93,11 +93,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1780065812, - "narHash": "sha256-SCSLUKBmwlSLGQ8Xbr8PjRFtiHNk0l9ktqkcmqdBkfE=", + "lastModified": 1782562157, + "narHash": "sha256-a7+T6QSeowynwZ1ZJJbP8T8ntAytvrui8kFGJmIZt2c=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b76b5639c0593e0aeb0b5879ad62d4b30596c144", + "rev": "a9cf7546a938c737b079e738de73934a13de9784", "type": "github" }, "original": { @@ -122,11 +122,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "lastModified": 1777168982, + "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1779560665, - "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", + "lastModified": 1782467914, + "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", + "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1779971959, - "narHash": "sha256-R5nauXyqyfRUFiZycFFZdkF7wl6eaUpPLst35+2nJQY=", + "lastModified": 1782535326, + "narHash": "sha256-ZeRxu4yn6shd3SNF5ZUQb4r7BaVo1zBKMjRhfoNSBmw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec942ba042dad5ef097e2ef3a3effc034241f011", + "rev": "714a5f8c4ead6b31148d829288440ed033ccc041", "type": "github" }, "original": { @@ -167,6 +167,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1780243769, + "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", @@ -224,23 +240,22 @@ "inputs": { "fetchurl-sources": "fetchurl-sources", "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_3", "systems": "systems_2", "xlibre-drivers-overlay-choice": "xlibre-drivers-overlay-choice", "xserver-meson-flags": "xserver-meson-flags" }, "locked": { - "lastModified": 1777909951, - "narHash": "sha256-vDl1AjSwywTSJYOEXh51IhM28CgR9kuK2dHOoIDl8+4=", - "ref": "refs/heads/main", - "rev": "ad187240632eec4b315ea93187a5f0e29af25830", - "revCount": 187, + "lastModified": 1782758637, + "narHash": "sha256-4ST7CjS2g6os38Q+slq995Ca4zmJ2ZPweMgcIkC7DMs=", + "ref": "dev-for-26.05", + "rev": "e49386b85f80f76f273a4722064ae06e83c23b28", + "revCount": 139, "type": "git", "url": "https://codeberg.org/takagemacoed/xlibre-overlay" }, "original": { + "ref": "dev-for-26.05", "type": "git", "url": "https://codeberg.org/takagemacoed/xlibre-overlay" } diff --git a/flake.nix b/flake.nix index f45428f..930d734 100644 --- a/flake.nix +++ b/flake.nix @@ -8,14 +8,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; xlibre-overlay = { - url = "git+https://codeberg.org/takagemacoed/xlibre-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "git+https://codeberg.org/takagemacoed/xlibre-overlay?ref=dev-for-26.05"; }; my-ricing-assets = { url = "path:./assets"; inputs.nixpkgs.follows = "nixpkgs"; }; }; + outputs = inputs@{ self, nixpkgs, ... }: { nixosModules = { hm = inputs.home-manager.nixosModules.home-manager; diff --git a/home/browser.nix b/home/browser.nix index b801c33..67badad 100644 --- a/home/browser.nix +++ b/home/browser.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { home.packages = with pkgs; [ - firefox + firefox-bin vimb ]; } diff --git a/home/cads.nix b/home/cads.nix index d9160ed..615f23a 100644 --- a/home/cads.nix +++ b/home/cads.nix @@ -1,10 +1,11 @@ { config, pkgs, ... }: { home.packages = (with pkgs.unstable; [ - freecad kicad kicadAddons.kikit + freecad + openscad-unstable + ]) ++ (with pkgs; [ librecad - openscad ]); } diff --git a/home/default.nix b/home/default.nix index 73babff..7af4546 100644 --- a/home/default.nix +++ b/home/default.nix @@ -14,6 +14,7 @@ in ./picom.nix ./tmux.nix ./vim.nix + ./xterm.nix ./zed.nix ./zsh.nix ]; diff --git a/home/i3.nix b/home/i3.nix index 62d860c..0f183a4 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -91,6 +91,8 @@ in "XF86AudioMute" = ''exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle''; "XF86MonBrightnessUp" = ''exec --no-startup-id brightnessctl set 5%+''; "XF86MonBrightnessDown" = ''exec --no-startup-id brightnessctl set 5%-''; + "F15" = ''exec --no-startup-id setxkbmap -layout my-sym''; + "Shift+F15" = ''exec --no-startup-id setxkbmap -layout my-sym-dvp''; }; }; }; diff --git a/home/picom.nix b/home/picom.nix index d06ea0e..ef84d11 100644 --- a/home/picom.nix +++ b/home/picom.nix @@ -2,7 +2,7 @@ { services.picom = { enable = true; - backend = "egl"; + backend = "glx"; fade = true; fadeDelta = 5; fadeExclude = [ @@ -10,9 +10,17 @@ "focused = 1" ]; inactiveOpacity = 0.9; - shadow = true; - shadowExclude = [ - "focused = 1" + opacityRules = [ + "100:name = 'Picture-in-Picture'" + "80:class_g = 'XTerm' && focused" + "67:class_g = 'i3-frame'" ]; + settings = { + blur = { + method = "gaussian"; + size = 16; + deviation = 8.0; + }; + }; }; } diff --git a/home/xterm.nix b/home/xterm.nix new file mode 100644 index 0000000..ef043f5 --- /dev/null +++ b/home/xterm.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, ... }: +{ + xresources.properties = { + "xterm*utf8" = 1; + "xterm*locale" = true; + "xterm*faceName" = "Moralerspace Neon:size=12:antialias=true"; + "xterm*reverseVideo" = "on"; + "xterm*saveLines" = 10000; + "xterm*geometry" = "80x24"; + }; +} diff --git a/home/zed.nix b/home/zed.nix index 87ab6a9..5099a27 100644 --- a/home/zed.nix +++ b/home/zed.nix @@ -48,15 +48,15 @@ thumb = "always"; current_line_highlight = "line"; }; - buffer_font_size = 16; + buffer_font_size = 11; buffer_font_family = "0xProto Nerd Font Mono"; - ui_font_size = 14; + ui_font_size = 12; cursor_shape = "block"; format_on_save = "off"; terminal = { blinking = "on"; font_family = "Moralerspace Argon"; - font_size = 14; + font_size = 12; scroll_multiplier = 5.0; }; }; diff --git a/hosts/waku/default.nix b/hosts/waku/default.nix index 4f10e96..cd5da7d 100644 --- a/hosts/waku/default.nix +++ b/hosts/waku/default.nix @@ -43,7 +43,7 @@ services.open-webui = { enable = true; port = 11111; - package = pkgs.open-webui; + package = pkgs.unstable.open-webui; }; services.fprintd.enable = true; @@ -69,6 +69,11 @@ ]; }; + programs.i3lock = { + enable = true; + u2fSupport = false; + }; + environment.systemPackages = (with pkgs; [ amdgpu_top arduino-ide @@ -76,10 +81,9 @@ my-ricing-assets opencode python3 - qucs-s - sage + rocmPackages.amdsmi + rocmPackages.rocm-smi saleae-logic-2 - scilab-bin tmux vim xdg-desktop-portal-gnome diff --git a/hosts/waku/hardware-configuration.nix b/hosts/waku/hardware-configuration.nix index 9c8a2e8..7fbfd7e 100644 --- a/hosts/waku/hardware-configuration.nix +++ b/hosts/waku/hardware-configuration.nix @@ -34,4 +34,6 @@ services.udev.extraRules = '' SUBSYSTEM=="usb", ATTRS{idVendor}=="4348", ATTRS{idProduct}=="55e0", MODE="0666" ''; + + hardware.saleae-logic.enable = true; } diff --git a/overlays/default.nix b/overlays/default.nix index de0b778..e6e62b3 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,6 +7,37 @@ inherit (final) config; }; }) + + # test phase taking too long + (final: prev: { + openblas = prev.openblas.overrideAttrs ( + finalAttrs: prevAttrs: { + doCheck = false; + dontCheck = true; + passthru.tests = {}; + } + ); + }) + + # reverting version to 0.16.1 due to bug with IME + (final: prev: { + alacritty = prev.alacritty.overrideAttrs ( + finalAttrs: prevAttrs: { + version = "0.16.1"; + src = prev.fetchFromGitHub { + owner = "ayosec"; + repo = "alacritty"; + tag = "v${finalAttrs.version}-graphics"; + hash = "sha256-e+o0GLy05qXEY4T57dCuqhukTKBSm1WIHzPUV8uswRI="; + }; + cargoDeps = prev.rustPlatform.fetchCargoVendor { + inherit (finalAttrs) src; + hash = "sha256-VR+URXqsB9zCOSow/f/aWXUlrp6j2XeK0zKESQGzMek="; + }; + } + ); + }) + inputs.my-ricing-assets.overlays.x86_64-linux.default ]; } diff --git a/profiles/base.nix b/profiles/base.nix index b3577a5..fe9d33d 100644 --- a/profiles/base.nix +++ b/profiles/base.nix @@ -1,5 +1,10 @@ { config, lib, pkgs, ... }: { + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + networking.wireless.iwd.enable = true; networking.networkmanager = { enable = lib.mkDefault true; @@ -28,10 +33,15 @@ layout = "my-sym"; variant = "my-sym"; extraLayouts."my-sym" = { - description = "English (US) with modifed right side keys"; + description = "English (US) with modifed keys"; languages = [ "eng" ]; symbolsFile = "${pkgs.my-ricing-assets}/usr/local/share/xkb/symbols/my-sym"; }; + extraLayouts."my-sym-dvp" = { + description = "English (US, Programmer Dvorak) with modifed keys"; + languages = [ "eng" ]; + symbolsFile = "${pkgs.my-ricing-assets}/usr/local/share/xkb/symbols/my-sym-dvp"; + }; }; services.pipewire = { @@ -139,7 +149,7 @@ log-lines = 50; auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" ]; - substituters = [ + substituters = lib.mkForce [ "https://cache.nixos.org" ]; accept-flake-config = true; diff --git a/profiles/desktop.nix b/profiles/desktop.nix index 8fe8cd2..4081357 100644 --- a/profiles/desktop.nix +++ b/profiles/desktop.nix @@ -35,16 +35,16 @@ }; }; packages = with pkgs; [ - nerd-fonts._0xproto - nerd-fonts.fira-code - moralerspace + corefonts gyre-fonts ipafont jigmo + moralerspace + nerd-fonts._0xproto + nerd-fonts.fira-code noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif - corefonts noto-fonts-color-emoji ]; }; @@ -72,24 +72,23 @@ environment.systemPackages = (with pkgs; [ alacritty arandr - xfe + brightnessctl feh - keepassxc - gnucash - owncloud-client - thunderbird - libreoffice-fresh - kdePackages.spectacle + fontconfig kdePackages.gwenview kdePackages.okular kdePackages.polkit-kde-agent-1 - fontconfig - brightnessctl + kdePackages.spectacle + keepassxc + libreoffice-fresh + owncloud-client + thunderbird-bin + xfe ]) ++ (with pkgs.skkDictionaries; [ l - emoji - edict assoc + edict + emoji itaiji ]); }