This commit is contained in:
2026-03-23 23:30:03 +09:00
parent 52d1d2db18
commit 12c8cc4d69
14 changed files with 346 additions and 59 deletions

38
flake.lock generated
View File

@@ -19,11 +19,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1762980239, "lastModified": 1768135262,
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +39,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766553861, "lastModified": 1773963144,
"narHash": "sha256-ZbnG01yA3O8Yr1vUm3+NQ2qk9iRhS5bloAnuXHHy7+c=", "narHash": "sha256-WzBOBfSay3GYilUfKaUa1Mbf8/jtuAiJIedx7fWuIX4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0999ed8f965bbbd991437ad9c5ed3434cecbc30e", "rev": "a91b3ea73a765614d90360580b689c48102d1d33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -55,11 +55,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1766568855, "lastModified": 1773533765,
"narHash": "sha256-UXVtN77D7pzKmzOotFTStgZBqpOcf8cO95FcupWp4Zo=", "narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "c5db9569ac9cc70929c268ac461f4003e3e5ca80", "rev": "f8e82243fd601afb9f59ad230958bd073795cbfe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -71,11 +71,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1766622938, "lastModified": 1773814637,
"narHash": "sha256-Eovt/DOCYjFFBZuYbbG9j5jhklzxdNbUGVYYxh3lG3s=", "narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5900a0a8850cbba98e16d5a7a6ed389402dfcf4f", "rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -87,11 +87,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1761765539, "lastModified": 1765674936,
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -148,11 +148,11 @@
"xserver-meson-flags": "xserver-meson-flags" "xserver-meson-flags": "xserver-meson-flags"
}, },
"locked": { "locked": {
"lastModified": 1766204441, "lastModified": 1771870945,
"narHash": "sha256-CKoWqMDv7O81q6v6RTUGfMilx5aulOCw+HHdtkJM1qc=", "narHash": "sha256-4DYbVq+vGjr+D6vEZ1Ds9tby11XRcRO8Jv8eSDFV+38=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "bb35b081bb7256cbafb1c53c911985d86f51da04", "rev": "b2e21d095bf63dac90da626433ef20a84f798b40",
"revCount": 140, "revCount": 179,
"type": "git", "type": "git",
"url": "https://codeberg.org/takagemacoed/xlibre-overlay" "url": "https://codeberg.org/takagemacoed/xlibre-overlay"
}, },

30
home/alacritty.nix Normal file
View File

@@ -0,0 +1,30 @@
{ config, pkgs, ... }:
{
programs.alacritty = {
enable = true;
settings = {
scrolling = {
history = 10000;
multiplier = 5;
};
font = {
size = 14;
normal = {
family = "0xProto Nerd Font Mono";
style = "Regular";
};
bold = {
family = "0xProto Nerd Font Mono";
style = "Bold";
};
italic = {
family = "0xProto Nerd Font Mono";
style = "Italic";
};
};
window = {
opacity = 0.8;
};
};
};
}

6
home/browser.nix Normal file
View File

@@ -0,0 +1,6 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
firefox
];
}

9
home/cads.nix Normal file
View File

@@ -0,0 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
kicad
openscad
freecad
librecad
];
}

View File

@@ -31,7 +31,41 @@
]; ];
}; };
programs.git = {
enable = true;
settings = {
core = {
fileMode = false;
editor = "vim";
whitespace = "tabwidth=4,trailing-space,space-before-tab";
};
credential."https://git.kenryu.us".username = "kenryuS";
user = {
name = "Kenryu Shibata";
email = "kenryudev5894@gmail.com";
};
};
};
programs.gitui = { programs.gitui = {
enable = true; enable = true;
}; };
programs.gh = {
enable = true;
extensions = with pkgs; [
gh-f
gh-eco
gh-notify
gh-poi
];
settings = {
editor = "vim";
prompt = true;
pager = "bat";
browser = "firefox";
color_labels = true;
git_protocol = "ssh";
};
};
} }

View File

@@ -4,8 +4,16 @@ let
in in
{ {
imports = [ imports = [
./alacritty.nix
./browser.nix
./cads.nix
./cmd_tools.nix
./i3.nix ./i3.nix
./media.nix
./tmux.nix
./vim.nix ./vim.nix
./zed.nix
./zsh.nix
]; ];
home = { home = {

View File

@@ -20,7 +20,7 @@ in
color_good = "#00FF00"; color_good = "#00FF00";
color_degraded = "#00FFFF"; color_degraded = "#00FFFF";
color_bad = "#FF0000"; color_bad = "#FF0000";
separator = "][" separator = "][";
}; };
modules = { modules = {
"time" = { "time" = {
@@ -44,7 +44,7 @@ in
decimals = "1"; decimals = "1";
unit = "Mi"; unit = "Mi";
format = "%available (%used) / %total"; format = "%available (%used) / %total";
format = "Mem LOW (%available)" format_degraded = "Mem LOW (%available)";
threshold_degraded = "10%"; threshold_degraded = "10%";
threshold_critical = "6.25%"; threshold_critical = "6.25%";
}; };
@@ -53,7 +53,7 @@ in
position = 4; position = 4;
settings = { settings = {
prefix_type = "decimal"; prefix_type = "decimal";
format = "/ %percentage_used" format = "/ %percentage_used";
}; };
}; };
"volume master" = { "volume master" = {
@@ -83,8 +83,8 @@ in
menu = MENU; menu = MENU;
terminal = TERM; terminal = TERM;
workspaceLayout = "tabbed"; workspaceLayout = "tabbed";
gamps = { gaps = {
smartBorders = true; smartBorders = "on";
smartGaps = true; smartGaps = true;
inner = 10; inner = 10;
}; };

View File

@@ -1,9 +1,11 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ home.packages = with pkgs; [
mpv mpv
vlc vlc
ffmpeg ffmpeg
kdenlive kdePackages.kdenlive
gimp
inkscape
]; ];
} }

64
home/zed.nix Normal file
View File

@@ -0,0 +1,64 @@
{ config, pkgs, lib, ... }:
{
programs.zed-editor = {
enable = true;
extensions = [
"awk"
"assembly"
"bison"
"dockerfile"
"docker-compose"
"gruvbox-material-neovim"
"haskell"
"html-snippets"
"htmx-lsp"
"ini"
"javascript-snippets"
"jq"
"julia"
"lua"
"make"
"markdownlint"
"nix"
"rust-snippets"
"toml"
];
extraPackages = with pkgs; [
clang-tools
rustfmt
nil
];
userSettings = {
features = {
copilot = false;
};
telemetry = {
metrics = false;
};
autosave = {
after_delay = { milliseconds = 30000; };
};
disable_ai = true;
auto_update = false;
vim_mode = true;
tab_size = 4;
preferred_line_length = 80;
minimap = {
show = "always";
thumb = "always";
current_line_highlight = "line";
};
buffer_font_size = 16;
buffer_font_family = "0xProto Nerd Font Mono";
ui_font_size = 14;
cursor_shape = "block";
format_on_save = "off";
terminal = {
blinking = "on";
font_family = "Moralerspace Argon";
font_size = 14;
scroll_multiplier = 5.0;
};
};
};
}

14
home/zsh.nix Normal file
View File

@@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
programs.zsh = {
enable = true;
history = {
extended = true;
expireDuplicatesFirst = true;
ignoreSpace = true;
size = 100;
};
syntaxHighlighting.enable = true;
defaultKeymap = "vicmd";
};
}

View File

@@ -1,20 +1,109 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
imports = imports = [
[ ./hardware-configuration.nix
./hardware-configuration.nix ../../profiles/base.nix
../../profiles/base.nix ../../profiles/desktop.nix
# ../../profiles/desktop.nix ];
];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.tmp.cleanOnBoot = true;
boot.binfmt.preferStaticEmulators = true;
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"armv6l-linux"
"armv7l-linux"
];
environment.systemPackages = with pkgs; [ virtualisation = {
podman = {
enable = true;
dockerCompat = true;
dockerSocket.enable = true;
};
libvirtd = {
enable = true;
onBoot = "ignore";
onShutdown = "shutdown";
qemu = {
swtpm.enable = true;
};
};
spiceUSBRedirection.enable = true;
};
services.fprintd.enable = true;
services.xserver.windowManager.i3.enable = true;
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-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;
fontPackages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
];
};
environment.systemPackages = (with pkgs; [
vim vim
tmux tmux
]; saleae-logic-2
]) ++ (with pkgs.gnomeExtensions; [
kiwi-menu
blur-my-shell
forge
vibe-panel
dash-to-dock
]);
nixpkgs.config.allowUnfree = true;
networking.hostName = "wakugumi-hitoroku"; networking.hostName = "wakugumi-hitoroku";
networking.firewall.enable = true; networking.firewall.enable = true;

View File

@@ -0,0 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/1d5bfff2-4819-489a-8533-b2e3070c4623";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/cac5d442-525a-4918-ae64-11aa76192f91"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -12,6 +12,9 @@
]; ];
}; };
console.useXkbConfig = true;
services.xserver.xkb.options = "ctrl:swapcaps";
services.pipewire = { services.pipewire = {
enable = true; enable = true;
pulse.enable = true; pulse.enable = true;
@@ -28,33 +31,13 @@
enableSSHSupport = true; enableSSHSupport = true;
}; };
}; };
services.pcscd.enable = true;
hardware.gpgSmartcards.enable = true; hardware.gpgSmartcards.enable = true;
users.users.bitbang = { users.users.bitbang = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "nix" "dialout" "networkmanager" ]; extraGroups = [ "wheel" "video" "audio" "nix" "dialout" "networkmanager" "libvirtd" "podman" ];
};
programs.zoxide = {
enable = true;
enableBashIntegration = false;
enableZshIntegration = true;
};
programs.tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
keyMode = "vi";
customPaneNavigationAndResize = true;
newSession = true;
historyLimit = 10000;
terminal = "tmux-direct";
};
programs.bat = {
enable = true;
}; };
programs.nix-ld = { programs.nix-ld = {
@@ -85,7 +68,7 @@
}; };
nix.settings = { nix.settings = {
cores = 4; cores = lib.mkDefault 8;
sandbox = true; sandbox = true;
allowed-users = [ "@wheel" ]; allowed-users = [ "@wheel" ];
trusted-users = [ "@wheel" ]; trusted-users = [ "@wheel" ];
@@ -105,5 +88,6 @@
btop btop
fastfetch fastfetch
stow stow
yubikey-manager
]; ];
} }

View File

@@ -41,13 +41,27 @@
}; };
}; };
environment.systemPackages = with pkgs; [ xdg.portal = {
enable = true;
};
environment.systemPackages = (with pkgs; [
alacritty alacritty
xfe xfe
feh feh
keepassxc keepassxc
gnucash
owncloud-client
thunderbird
libreoffice-fresh
kdePackages.spectacle kdePackages.spectacle
kdePackages.gwenview kdePackages.gwenview
kdePackages.okular kdePackages.okular
]; ]) ++ (with pkgs.skkDictionaries; [
l
emoji
edict
assoc
itaiji
]);
} }