Compare commits

...

2 Commits

Author SHA1 Message Date
b16a603ea1 update, added assets 2026-03-29 02:39:10 +09:00
ad4a10ec09 updated configs, added AI to waku 2026-03-26 16:20:13 +09:00
22 changed files with 409 additions and 86 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
assets/wallpapers/cap_blow.png
assets/wallpapers/cap_filter.png
result

View File

@@ -4,4 +4,8 @@ All of stuff(Wallpapers, Scripts, etc.) packaged in single nix deriv.
## Wallpaper Sources
* ``
* `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)
[^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.

View File

@@ -1,8 +0,0 @@
stdenv.mkDerivation {
name = "ricing-assets";
src = ./.;
installPhase = ''
mkdir -p $out/usr/local/share/wallpapers
cp -r wallpapers/ $out/usr/local/share/wallpapers
'';
}

61
assets/flake.lock generated Normal file
View File

@@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1774244481,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

29
assets/flake.nix Normal file
View File

@@ -0,0 +1,29 @@
{
description = "Assets/Resources for ricing available as nix deriv";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
config = {};
overlays = [];
};
my-ricing-assets = pkgs.callPackage ./package.nix {};
in
{
packages = {
inherit my-ricing-assets;
default = my-ricing-assets;
my-wallpapers = pkgs.callPackage ./wallpapers {};
my-scripts = pkgs.callPackage ./scripts {};
};
overlays.default = final: prev: { my-ricing-assets = final.callPackage ./package.nix {}; };
}
);
}

12
assets/package.nix Normal file
View File

@@ -0,0 +1,12 @@
{ pkgs, ... }:
let
my-scripts = pkgs.callPackage ./scripts {};
my-wallpapers = pkgs.callPackage ./wallpapers {};
in
pkgs.symlinkJoin {
name = "my-ricing-assets";
paths = [
my-scripts
my-wallpapers
];
}

View File

@@ -0,0 +1,8 @@
{ pkgs, ... }:
let
misskey-scripts = pkgs.callPackage ./misskey.nix {};
in
pkgs.symlinkJoin {
name = "my-scripts";
paths = [misskey-scripts];
}

View File

@@ -1,26 +1,31 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
let
getLatestN = writeShellApplication {
getLatestN = pkgs.writeShellApplication {
name = "misskey-getLatestN";
runtimeInputs = [
runtimeInputs = with pkgs; [
curl
jq
];
text = ''
if [[ -a /tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo ]]; then
mkdir -p /tmp/${config.networking.hostName}/misskey-scripts
mkfifo /tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo
if [ ! -e /tmp//misskey-scripts/getLatestN1.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
fi
pipeLocation=/tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo
pipeLocation1=/tmp/misskey-scripts/getLatestN1.fifo
pipeLocation2=/tmp/misskey-scripts/getLatestN2.fifo
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}' > "$pipeLocation" &
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" &
echo "$(jq -M -r '.[].text' < $pipeLocation)" > $pipeLocation &
jq -M -r '.[].text' < $pipeLocation1 > $pipeLocation2 &
while read line; do
while read -r line; do
echo "$line"
done < $pipeLocation
done < $pipeLocation2
wait
'';
};

View File

@@ -0,0 +1,21 @@
{ stdenv, lib, ... }:
let
inherit (lib.fileset) toSource unions intersection maybeMissing gitTracked;
sourceFiles = unions [
(gitTracked ./.)
(maybeMissing ./cap_blow.png)
(maybeMissing ./cap_filter.png)
];
in
lib.fileset.trace sourceFiles
stdenv.mkDerivation {
name = "my-wallpapers";
src = toSource {
root = ./.;
fileset = sourceFiles;
};
installPhase = ''
mkdir -p $out/usr/local/share/wallpapers
cp -r *.{jpg,jpeg,png} $out/usr/local/share/wallpapers/
'';
}

BIN
assets/wallpapers/zh.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

88
flake.lock generated
View File

@@ -32,6 +32,24 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -39,11 +57,11 @@
]
},
"locked": {
"lastModified": 1773963144,
"narHash": "sha256-WzBOBfSay3GYilUfKaUa1Mbf8/jtuAiJIedx7fWuIX4=",
"lastModified": 1774559029,
"narHash": "sha256-deix7yg3j6AhjMPnFDCmWB3f83LsajaaULP5HH2j34k=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a91b3ea73a765614d90360580b689c48102d1d33",
"rev": "a0bb0d11514f92b639514220114ac8063c72d0a3",
"type": "github"
},
"original": {
@@ -53,13 +71,30 @@
"type": "github"
}
},
"my-ricing-assets": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"path": "./assets",
"type": "path"
},
"original": {
"path": "./assets",
"type": "path"
},
"parent": []
},
"nixos-hardware": {
"locked": {
"lastModified": 1773533765,
"narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=",
"lastModified": 1774567711,
"narHash": "sha256-uVlOHBvt6Vc/iYNJXLPa4c3cLXwMllOCVfAaLAcphIo=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "f8e82243fd601afb9f59ad230958bd073795cbfe",
"rev": "3f6f874dfc34d386d10e434c48ad966c4832243e",
"type": "github"
},
"original": {
@@ -71,11 +106,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1773814637,
"narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=",
"lastModified": 1774388614,
"narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96",
"rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e",
"type": "github"
},
"original": {
@@ -100,15 +135,48 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1774386573,
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"my-ricing-assets": "my-ricing-assets",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
"xlibre-overlay": "xlibre-overlay"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"flake": false,
"locked": {
"path": "./systems.nix",
@@ -143,7 +211,7 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems",
"systems": "systems_2",
"xlibre-drivers-overlay-choice": "xlibre-drivers-overlay-choice",
"xserver-meson-flags": "xserver-meson-flags"
},

View File

@@ -1,6 +1,7 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
@@ -10,6 +11,10 @@
url = "git+https://codeberg.org/takagemacoed/xlibre-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
my-ricing-assets = {
url = "path:./assets";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ self, nixpkgs, ... }: {
nixosModules = {

View File

@@ -8,7 +8,7 @@
multiplier = 5;
};
font = {
size = 14;
size = 10;
normal = {
family = "0xProto Nerd Font Mono";
style = "Regular";
@@ -25,6 +25,9 @@
window = {
opacity = 0.8;
};
terminal = {
shell = "${pkgs.zsh}/bin/zsh";
};
};
};
}

View File

@@ -10,6 +10,7 @@ in
./cmd_tools.nix
./i3.nix
./media.nix
./picom.nix
./tmux.nix
./vim.nix
./zed.nix

View File

@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
let
modKey = "Mod1";
modKey = "Mod4";
UP = "k";
DOWN = "j";
LEFT = "h";
@@ -12,6 +12,7 @@ in
{
programs.i3status = {
enable = true;
enableDefault = false;
general = {
output_format = "i3bar";
interval = 1;
@@ -34,7 +35,7 @@ in
settings = {
format = "LD %1min:%5min:%15min";
format_above_threshold = "LD H (%1min:%5min)";
max_threshold = "0.9";
max_threshold = "4.9";
};
};
"memory" = {
@@ -79,6 +80,7 @@ in
xsession.windowManager.i3 = {
enable = true;
config = {
defaultWorkspace = ''workspace number "1"'';
modifier = modKey;
menu = MENU;
terminal = TERM;
@@ -88,6 +90,9 @@ in
smartGaps = true;
inner = 10;
};
startup = [
{ command = "fcitx5 -r"; always = true; notification = false; }
];
modes = {
resize = {
"${UP}" = "resize shrink height 10 px or 10 ppt";
@@ -114,9 +119,10 @@ in
"${modKey}+f" = "fullscreen toggle";
"${modKey}+s" = "layout stacking";
"${modKey}+w" = "layout tabbed";
"${modKey}+e" = "layout split";
"${modKey}+e" = "layout toggle split";
"${modKey}+Shift+space" = "floating toggle";
"${modKey}+space" = "focus mode_toggle";
"${modKey}+minus" = "scratchpad show";
"${modKey}+Shift+minus" = "move scratchpad";
"${modKey}+n" = "workspace next";
"${modKey}+p" = "workspace prev";
@@ -144,8 +150,15 @@ in
"${modKey}+Shift+8" = ''move container to workspace number "8"'';
"${modKey}+Shift+9" = ''move container to workspace number "9"'';
"${modKey}+Shift+0" = ''move container to workspace number "10"'';
"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'';
};
};
};
home.packages = with pkgs; [
rofi
];
}

17
home/picom.nix Normal file
View File

@@ -0,0 +1,17 @@
{ config, pkgs, ... }:
{
services.picom = {
enable = true;
backend = "glx";
fade = true;
fadeExclude = [
"window_type *= 'menu'"
"focused = 1"
];
inactiveOpacity = 0.9;
shadow = true;
shadowExclude = [
"focused = 1"
];
};
}

View File

@@ -10,5 +10,6 @@
disableConfirmationPrompt = false;
customPaneNavigationAndResize = true;
terminal = "tmux-direct";
shell = "${pkgs.zsh}/bin/zsh";
};
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
programs.zsh = {
enable = true;
@@ -9,6 +9,12 @@
size = 100;
};
syntaxHighlighting.enable = true;
defaultKeymap = "vicmd";
initContent = let
prependCfg = lib.mkOrder 500 "";
appendCfg = lib.mkOrder 1500 ''
bindkey -v
'';
in
lib.mkMerge [ prependCfg appendCfg ];
};
}

View File

@@ -1,5 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, inputs, ... }:
{
imports = [
./hardware-configuration.nix
@@ -35,9 +34,22 @@
spiceUSBRedirection.enable = true;
};
services.ollama = {
enable = true;
acceleration = "rocm";
package = pkgs.unstable.ollama-rocm;
};
services.open-webui = {
enable = true;
port = 11111;
package = pkgs.unstable.open-webui;
};
services.fprintd.enable = true;
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;
@@ -51,36 +63,12 @@
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
];
fonts = {
fontDir.enable = true;
fontconfig = {
defaultFonts = {
emoji = [ "Noto Color Emoji" ];
monospace = [ "Moralerspace Argon" ];
sansSerif = [ "Noto Sans" ];
serif = [ "Noto Serif" ];
};
};
packages = with pkgs; [
nerd-fonts._0xproto
nerd-fonts.fira-code
moralerspace
gyre-fonts
ipafont
jigmo
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
corefonts
noto-fonts-color-emoji
];
};
programs.steam = {
enable = true;
#extest.enable = true;
@@ -95,20 +83,26 @@
vim
tmux
saleae-logic-2
my-ricing-assets
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
forge
vibe-panel
dash-to-dock
]);
environment.variables = {
MY_RICING_ASSETS_PATH = "${pkgs.my-ricing-assets}/";
};
nixpkgs.config.allowUnfree = true;
networking.hostName = "wakugumi-hitoroku";
networking.firewall.enable = true;
system.stateVersion = "25.11";
}

View File

@@ -1,4 +1,12 @@
{ config, pkgs, lib, ... }:
{ config, pkgs, lib, inputs, ... }:
{
nixpkgs.overlays = [];
nixpkgs.overlays = [
(final: _: {
unstable = import inputs.nixpkgs-unstable {
inherit (final.stdenv.hostPlatform) system;
inherit (final) config;
};
})
inputs.my-ricing-assets.overlays.x86_64-linux.default
];
}

View File

@@ -43,21 +43,66 @@
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
SDL
SDL2_image
acl
atk
attr
bzip2
cairo
cups
curl
dbus
dbus-glib
e2fsprogs
ffmpeg
flac
fontconfig
fuse
glew
glib
gtk2
gtk3
icu
libGL
libcap
libcxx
libelf
libjpeg
libnotify
libpng
libsodium
libssh
libtiff
libusb1
libxkbcommon
libxml2
nss
openssl
pango
stdenv.cc.cc
systemd
util-linux
xorg.libICE
xorg.libSM
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXmu
xorg.libXrandr
xorg.libXrender
xorg.libXt
xorg.libXtst
xorg.libXxf86vm
xorg.libxcb
xorg.libxshmfence
xz
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
ffmpeg
];
};
@@ -89,5 +134,7 @@
fastfetch
stow
yubikey-manager
alsa-utils
pulseaudio
];
}

View File

@@ -17,11 +17,7 @@
xkb = {
layout = "us";
};
resolutions = [
{ x = 1920; y = 1080; }
{ x = 2560; y = 1600; }
];
dpi = 96;
dpi = lib.mkDefault 96;
displayManager.lightdm = {
enable = true;
greeters.gtk = {
@@ -30,6 +26,31 @@
};
};
fonts = {
fontDir.enable = true;
fontconfig = {
defaultFonts = {
emoji = [ "Noto Color Emoji" ];
monospace = [ "Moralerspace Argon" ];
sansSerif = [ "Noto Sans" ];
serif = [ "Noto Serif" ];
};
};
packages = with pkgs; [
nerd-fonts._0xproto
nerd-fonts.fira-code
moralerspace
gyre-fonts
ipafont
jigmo
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
corefonts
noto-fonts-color-emoji
];
};
services.libinput = lib.mkDefault {
enable = true;
touchpad = {
@@ -45,6 +66,8 @@
enable = true;
};
security.polkit.enable = true;
environment.systemPackages = (with pkgs; [
alacritty
xfe
@@ -57,6 +80,7 @@
kdePackages.spectacle
kdePackages.gwenview
kdePackages.okular
fontconfig
]) ++ (with pkgs.skkDictionaries; [
l
emoji