diff --git a/assets/README.md b/assets/README.md index 42a6c17..f2c0d01 100644 --- a/assets/README.md +++ b/assets/README.md @@ -7,5 +7,6 @@ All of stuff(Wallpapers, Scripts, etc.) packaged in single nix deriv. * `zh.jpeg` - [じんだいじ-JINDAIJI-](https://jindaiji.fanbox.cc/posts/10183122) * `cap_blow.png`[^1] - [シャポコ](https://www.pixiv.net/artworks/107214767) * `cap_filter.png`[^1] - [シャポコ](https://www.pixiv.net/artworks/91199411) +* `su-30sm.png` - [Kerian_](https://www.pixiv.net/artworks/89246817) [^1]: Not included as original file due to licensing. Download by yourself before compiling. When building/`nixos-rebuild`-ing with these gitignored files, please explicitly use `path:` directives to not using nix's git check/ignoring. diff --git a/assets/flake.nix b/assets/flake.nix index 35c5d23..a372c3d 100644 --- a/assets/flake.nix +++ b/assets/flake.nix @@ -22,6 +22,7 @@ default = my-ricing-assets; my-wallpapers = pkgs.callPackage ./wallpapers {}; my-scripts = pkgs.callPackage ./scripts {}; + my-xkb-config = pkgs.callPackage ./xkb {}; }; overlays.default = final: prev: { my-ricing-assets = final.callPackage ./package.nix {}; }; } diff --git a/assets/package.nix b/assets/package.nix index c36cd8c..e8edcd4 100644 --- a/assets/package.nix +++ b/assets/package.nix @@ -2,11 +2,13 @@ let my-scripts = pkgs.callPackage ./scripts {}; my-wallpapers = pkgs.callPackage ./wallpapers {}; + my-xkb-config = pkgs.callPackage ./xkb {}; in pkgs.symlinkJoin { name = "my-ricing-assets"; paths = [ my-scripts my-wallpapers + my-xkb-config ]; } diff --git a/assets/scripts/default.nix b/assets/scripts/default.nix index 17beef5..3ee0acf 100644 --- a/assets/scripts/default.nix +++ b/assets/scripts/default.nix @@ -1,8 +1,12 @@ { pkgs, ... }: let misskey-scripts = pkgs.callPackage ./misskey.nix {}; + feh-wallpaper = pkgs.callPackage ./feh-wallpaper.nix {}; in pkgs.symlinkJoin { name = "my-scripts"; - paths = [misskey-scripts]; + paths = [ + misskey-scripts + feh-wallpaper + ]; } diff --git a/assets/scripts/feh-wallpaper.nix b/assets/scripts/feh-wallpaper.nix new file mode 100644 index 0000000..339f37d --- /dev/null +++ b/assets/scripts/feh-wallpaper.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +let + feh-wallpaper-getRandom = pkgs.writeShellApplication { + name = "feh-wallpaper-getRandom"; + runtimeInputs = with pkgs; [ + feh + ]; + text = '' + bgs=$MY_RICING_ASSETS_PATH/usr/local/share/wallpapers + feh --bg-fill --randomize "$bgs"/* + ''; + }; +in +pkgs.symlinkJoin { + name = "feh-wallpaper"; + paths = [ + feh-wallpaper-getRandom + ]; +} diff --git a/assets/scripts/misskey.nix b/assets/scripts/misskey.nix index 12d89a8..6fcd4f1 100644 --- a/assets/scripts/misskey.nix +++ b/assets/scripts/misskey.nix @@ -7,25 +7,24 @@ let jq ]; text = '' - if [ ! -e /tmp//misskey-scripts/getLatestN1.fifo ]; then + if [ ! -e /tmp//misskey-scripts/getLatestN.fifo ]; then mkdir -p /tmp/misskey-scripts - mkfifo /tmp/misskey-scripts/getLatestN1.fifo - fi - if [ ! -e /tmp//misskey-scripts/getLatestN2.fifo ]; then - mkdir -p /tmp/misskey-scripts - mkfifo /tmp/misskey-scripts/getLatestN2.fifo + mkfifo /tmp/misskey-scripts/getLatestN.fifo fi - pipeLocation1=/tmp/misskey-scripts/getLatestN1.fifo - pipeLocation2=/tmp/misskey-scripts/getLatestN2.fifo + limitNum=$1 + delim=$2 + pipeLocation=/tmp/misskey-scripts/getLatestN.fifo + queryText='.[].text + ' + queryText+='"' + queryText+="$delim" + queryText+='"' - curl https://misskey.io/api/notes -s --request POST --header 'Content-Type: application/json' --data "{\"local\": true, \"reply\": false, \"renote\": false, \"withFiles\": false, \"poll\": false, \"limit\": $1}" > "$pipeLocation1" & - - jq -M -r '.[].text' < $pipeLocation1 > $pipeLocation2 & + jq -M -r "$queryText" <(curl https://misskey.io/api/notes -s --request POST --header 'Content-Type: application/json' --data "{\"local\": true, \"reply\": false, \"renote\": false, \"withFiles\": false, \"poll\": false, \"limit\": $limitNum}") > $pipeLocation & while read -r line; do echo "$line" - done < $pipeLocation2 + done < $pipeLocation wait ''; }; diff --git a/assets/wallpapers/su-30sm.png b/assets/wallpapers/su-30sm.png new file mode 100644 index 0000000..1f950d6 Binary files /dev/null and b/assets/wallpapers/su-30sm.png differ diff --git a/assets/xkb/default.nix b/assets/xkb/default.nix new file mode 100644 index 0000000..6f71590 --- /dev/null +++ b/assets/xkb/default.nix @@ -0,0 +1,9 @@ +{ stdenv, lib, ... }: +stdenv.mkDerivation { + name = "my-wallpapers"; + src = ./.; + installPhase = '' + mkdir -p $out/usr/local/share/xkb + cp -r symbols $out/usr/local/share/xkb/ + ''; +} diff --git a/assets/xkb/symbols/my-sym b/assets/xkb/symbols/my-sym new file mode 100644 index 0000000..626c0eb --- /dev/null +++ b/assets/xkb/symbols/my-sym @@ -0,0 +1,18 @@ +partial alphanumeric_keys +xkb_symbols "my-sym" { + include "us(basic)" + include "inet(evdev)" + name[Group1] = "English (US) with modified right side keys"; + + key {[ Return ], type[group1] = "ONE_LEVEL" }; + key {[ Escape ], type[group1] = "ONE_LEVEL" }; + key { [ F13, Delete ], type[group1] = "TWO_LEVEL" }; + key { [ F14, Insert ], type[group1] = "TWO_LEVEL" }; + key {[ F15 ]}; + key {[ Control_R ], type[group1] = "ONE_LEVEL" }; + + replace key {[ Control_L ], type[group1] = "ONE_LEVEL" }; + replace key {[ Caps_Lock ]}; + modifier_map Control { }; + modifier_map Lock { }; +}; diff --git a/assets/xkb/symbols/my-sym-dvp b/assets/xkb/symbols/my-sym-dvp new file mode 100644 index 0000000..efd3c31 --- /dev/null +++ b/assets/xkb/symbols/my-sym-dvp @@ -0,0 +1,18 @@ +partial alphanumeric_keys modifier_keys +xkb_symbols "my-sym-dvp" { + include "us(dvp)" + include "inet(evdev)" + name[Group1] = "English (US, Programmer Dvorak) with modified right side keys"; + + key {[ Return ], type[group1] = "ONE_LEVEL" }; + key {[ Escape ], type[group1] = "ONE_LEVEL" }; + key { [ F13, Delete ], type[group1] = "TWO_LEVEL" }; + key { [ F14, Insert ], type[group1] = "TWO_LEVEL" }; + key {[ F15 ]}; + key {[ Control_R ], type[group1] = "ONE_LEVEL" }; + + replace key {[ Control_L ], type[group1] = "ONE_LEVEL" }; + replace key {[ Caps_Lock ]}; + modifier_map Control { }; + modifier_map Lock { }; +}; diff --git a/flake.lock b/flake.lock index cdecf1f..b164569 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1774559029, - "narHash": "sha256-deix7yg3j6AhjMPnFDCmWB3f83LsajaaULP5HH2j34k=", + "lastModified": 1778905220, + "narHash": "sha256-ox/5IHc8uwy6UTw6N7Shp6uCHIgu/S2PsWeuXsOHSo8=", "owner": "nix-community", "repo": "home-manager", - "rev": "a0bb0d11514f92b639514220114ac8063c72d0a3", + "rev": "d1686dc7d36cbd1234cb226ad6ef97e882716acb", "type": "github" }, "original": { @@ -90,11 +90,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1774567711, - "narHash": "sha256-uVlOHBvt6Vc/iYNJXLPa4c3cLXwMllOCVfAaLAcphIo=", + "lastModified": 1779258371, + "narHash": "sha256-j1iZsLy6oFApqR1oiDmHhvkwxXqcNi0aoSJj643LuwU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3f6f874dfc34d386d10e434c48ad966c4832243e", + "rev": "c97bc4d15bd3473dd095e8e8ba57330ab1943a77", "type": "github" }, "original": { @@ -106,11 +106,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774388614, - "narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=", + "lastModified": 1779102034, + "narHash": "sha256-vZJZjLo513IeI8hjzHFc6TDezUd4uCE2Eq4SNO3DNNg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e", + "rev": "687f05a9184cad4eaf905c48b63649e3a86f5433", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1774386573, - "narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "type": "github" }, "original": { @@ -216,11 +216,11 @@ "xserver-meson-flags": "xserver-meson-flags" }, "locked": { - "lastModified": 1771870945, - "narHash": "sha256-4DYbVq+vGjr+D6vEZ1Ds9tby11XRcRO8Jv8eSDFV+38=", + "lastModified": 1777909951, + "narHash": "sha256-vDl1AjSwywTSJYOEXh51IhM28CgR9kuK2dHOoIDl8+4=", "ref": "refs/heads/main", - "rev": "b2e21d095bf63dac90da626433ef20a84f798b40", - "revCount": 179, + "rev": "ad187240632eec4b315ea93187a5f0e29af25830", + "revCount": 187, "type": "git", "url": "https://codeberg.org/takagemacoed/xlibre-overlay" }, diff --git a/home/browser.nix b/home/browser.nix index ad2059c..b801c33 100644 --- a/home/browser.nix +++ b/home/browser.nix @@ -2,5 +2,6 @@ { home.packages = with pkgs; [ firefox + vimb ]; } diff --git a/home/cads.nix b/home/cads.nix index 244b575..d9160ed 100644 --- a/home/cads.nix +++ b/home/cads.nix @@ -1,9 +1,10 @@ { config, pkgs, ... }: { - home.packages = with pkgs; [ - kicad - openscad + home.packages = (with pkgs.unstable; [ freecad + kicad + kicadAddons.kikit librecad - ]; + openscad + ]); } diff --git a/home/i3.nix b/home/i3.nix index adf2346..28691f0 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -25,6 +25,8 @@ in }; startup = [ { command = "fcitx5 -r"; always = true; notification = false; } + { command = "owncloud"; always = true; notification = false;} + { command = "feh-wallpaper-getRandom"; always = false; notification = false; } ]; modes = { resize = { @@ -86,6 +88,8 @@ in "XF86AudioRaiseVolume" = ''exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%''; "XF86AudioLowerVolume" = ''exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%''; "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%-''; }; }; }; diff --git a/home/i3status.nix b/home/i3status.nix index b652551..c485daa 100644 --- a/home/i3status.nix +++ b/home/i3status.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, ... }: let inherit (builtins) listToAttrs; - inherit (lib.lists) imap1 forEach reverseList elemAt; + inherit (lib.lists) imap1 forEach reverseList; modules = [ { name = "time"; @@ -9,6 +9,20 @@ let format = "%Y %m/%d %a | %H:%M:%S"; }; } + { + name = "battery 1"; + settings = { + format = "%status %remaining (%emptytime)"; + format_percentage = "%.01f%s"; + format_down = "No BAT"; + status_chr = "CHR"; + status_bat = ""; + status_unk = "UNK"; + status_full = "FULL"; + low_threshold = 30; + threshold_type = "percentage"; + }; + } { name = "load"; settings = { @@ -57,7 +71,7 @@ let v // { position = i; } ) (reverseList modules); modNameValList = forEach numberedModulesList (x: { - name = x.name; + inherit (x) name; value = { inherit (x) settings position; }; diff --git a/home/media.nix b/home/media.nix index a980935..dea8cdf 100644 --- a/home/media.nix +++ b/home/media.nix @@ -7,5 +7,6 @@ kdePackages.kdenlive gimp inkscape + obs-studio ]; } diff --git a/home/zsh.nix b/home/zsh.nix index e7b11a3..8372d11 100644 --- a/home/zsh.nix +++ b/home/zsh.nix @@ -13,6 +13,7 @@ prependCfg = lib.mkOrder 500 ""; appendCfg = lib.mkOrder 1500 '' bindkey -v + export PS1="%n@%m:%B%~%b%(0?.. %F{red}%B(%?%)%b%f) %# " ''; in lib.mkMerge [ prependCfg appendCfg ]; diff --git a/hosts/waku/default.nix b/hosts/waku/default.nix index 635fca7..47364cd 100644 --- a/hosts/waku/default.nix +++ b/hosts/waku/default.nix @@ -37,12 +37,12 @@ services.ollama = { enable = true; acceleration = "rocm"; - package = pkgs.unstable.ollama-rocm; + package = pkgs.unstable.ollama; }; services.open-webui = { enable = true; port = 11111; - package = pkgs.unstable.open-webui; + package = pkgs.open-webui; }; services.fprintd.enable = true; @@ -50,21 +50,10 @@ services.xserver.windowManager.i3.enable = true; services.xserver.resolutions = [ {x = 2560; y = 1600; } ]; services.xserver.dpi = lib.mkForce 108; - services.desktopManager.gnome.enable = true; - services.gnome = { - core-apps.enable = false; - core-developer-tools.enable = false; - games.enable = false; - }; - environment.gnome.excludePackages = with pkgs; [ - gnome-tour - gnome-user-docs - ]; - + services.flatpak.enable = true; xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk - xdg-desktop-portal-gnome xdg-desktop-portal-xapp kdePackages.xdg-desktop-portal-kde ]; @@ -84,14 +73,17 @@ tmux saleae-logic-2 my-ricing-assets + amdgpu_top + scilab-bin + qucs-s + sage + python3 + opencode + arduino-ide xdg-desktop-portal-gtk xdg-desktop-portal-gnome xdg-desktop-portal-xapp kdePackages.xdg-desktop-portal-kde - ]) ++ (with pkgs.gnomeExtensions; [ - kiwi-menu - blur-my-shell - dash-to-dock ]); environment.variables = { diff --git a/profiles/base.nix b/profiles/base.nix index 739ffaa..7ccf155 100644 --- a/profiles/base.nix +++ b/profiles/base.nix @@ -13,7 +13,15 @@ }; console.useXkbConfig = true; - services.xserver.xkb.options = "ctrl:swapcaps"; + services.xserver.xkb = { + layout = "my-sym"; + variant = "my-sym"; + extraLayouts."my-sym" = { + description = "English (US) with modifed right side keys"; + languages = [ "eng" ]; + symbolsFile = "${pkgs.my-ricing-assets}/usr/local/share/xkb/symbols/my-sym"; + }; + }; services.pipewire = { enable = true; @@ -136,5 +144,7 @@ yubikey-manager alsa-utils pulseaudio + zip + unzip ]; } diff --git a/profiles/desktop.nix b/profiles/desktop.nix index f4ef523..c6b0353 100644 --- a/profiles/desktop.nix +++ b/profiles/desktop.nix @@ -14,9 +14,6 @@ services.xserver = { enable = true; - xkb = { - layout = "us"; - }; dpi = lib.mkDefault 96; displayManager.lightdm = { enable = true; @@ -64,12 +61,14 @@ xdg.portal = { enable = true; + config.common.default = "*"; }; security.polkit.enable = true; environment.systemPackages = (with pkgs; [ alacritty + arandr xfe feh keepassxc @@ -81,6 +80,7 @@ kdePackages.gwenview kdePackages.okular fontconfig + brightnessctl ]) ++ (with pkgs.skkDictionaries; [ l emoji