Compare commits

...

No commits in common. "034f58347b19a71e4b23cf097ead3416a75a824c" and "master" have entirely different histories.

25 changed files with 465 additions and 117 deletions

View File

@ -3,5 +3,5 @@
```
sudo nixos-rebuild switch --flake .#<host>
nix run .#home-manager -- switch --flake .#<host>
nix run .#home-manager -- switch --flake .#<username>@<host>
```

View File

@ -34,6 +34,9 @@
apps.home-manager = {
type = "app";
program = "${hm}/bin/home-manager";
meta = {
description = "Home Manager for Nix";
};
};
}
));

View File

@ -5,12 +5,7 @@
...
}:
let
inherit (lib)
mkOption
recursiveUpdate
types
optionals
;
inherit (lib) mkOption recursiveUpdate types optionals;
rosePineHyprcursor = pkgs.callPackage ./rose-pine-hyprcursor.nix { };
defaultInput = {
@ -23,10 +18,10 @@ let
follow_mouse = true;
touchpad = {
natural_scroll = false;
natural_scroll = true;
};
natural_scroll = false;
natural_scroll = true;
sensitivity = 0.0;
};
@ -149,9 +144,6 @@ let
"SUPER_CTRL, right, workspace, m+1"
"SUPER_CTRL_SHIFT, left, workspace, r-1"
"SUPER_CTRL_SHIFT, right, workspace, r+1"
# screenshot
"SUPER_SHIFT, S, exec, hyprshot -m region --clipboard-only"
]
++ (
# workspaces

View File

@ -3,11 +3,7 @@
{
programs.zed-editor = {
enable = true;
extensions = [
"nix"
"toml"
"rust"
];
extensions = [ "nix" "toml" "rust" ];
userSettings = {
theme = {
@ -16,12 +12,11 @@
light = "Kanagawa Lotus";
};
hour_format = "hour24";
vim_mode = false;
vim_mode = true;
buffer_font_size = 12.0;
buffer_font_family = "PlemolJP Console NF";
};
};
fonts.fontconfig.enable = true;
home.file.".local/share/fonts/plemoljp".source =
"${pkgs.plemoljp-nf}/share/fonts/truetype/plemoljp-nf-console";
home.file.".local/share/fonts/plemoljp".source = "${pkgs.plemoljp-nf}/share/fonts/truetype/plemoljp-nf-console";
}

Binary file not shown.

View File

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
extraGroups = [
"docker"
"i2c"
];
shell = pkgs.fish;
# openssh.authroizedKeys.keys = [
# ];
}

View File

@ -4,12 +4,12 @@ let
in
mkHost {
system = "x86_64-linux";
hostname = "AQUA";
hostname = "Arcadia";
users = [
{
username = "umi";
homeModule = [ ./umi/home-manager.nix ];
userNixos = ./umi/nixos.nix;
username = "hare";
home = ./hare/home-manager.nix;
nixos = ./hare/nixos.nix;
}
];
systemModules = [ ./nixos.nix ];

11
hosts/arcadia/display.nix Normal file
View File

@ -0,0 +1,11 @@
{
wayland.windowManager.hyprland = {
settings = {
monitor = [
"DP-1, 5120x2880@60, 0x0, 2"
"DP-2, 2560x1440@144, 2560x0, 1, transform, 0"
"DP-3, 1920x1080@144, -1080x-240, 1, transform, 1"
];
};
};
}

View File

@ -1,6 +1,3 @@
# 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,
@ -8,16 +5,15 @@
modulesPath,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
@ -27,12 +23,12 @@
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/e8956bf9-0123-4caf-8a5d-abe77a33e83a";
device = "/dev/disk/by-uuid/f3934858-078f-463a-9dd3-d6ba220ced6d";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6949-1506";
device = "/dev/disk/by-uuid/FFAC-0945";
fsType = "vfat";
options = [
"fmask=0077"
@ -42,13 +38,21 @@
swapDevices = [ ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
open = true;
nvidiaSettings = true;
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
mesa
libva
libvdpau-va-gl
vulkan-loader
vulkan-validation-layers
mesa.opencl # Enables Rusticl (OpenCL) support
rocmPackages.clr.icd
];
};
}

View File

@ -8,6 +8,7 @@
home.stateVersion = "25.05";
imports = [
inputs.nix-index-database.homeModules.nix-index
../display.nix
../../../home-manager/tofi.nix
../../../home-manager/hyprland
../../../home-manager/fnott.nix
@ -18,40 +19,44 @@
../../../home-manager/firefox.nix
../../../home-manager/obs-studio.nix
../../../home-manager/zeditor.nix
../../../home-manager/blender.nix
../../../home-manager/voicevox.nix
];
hare.hyprland = {
input.sensitivity = -0.85;
input.sensitivity = -1.0;
wallpaperCommand = "swww img /usr/share/wallpaper/arknights-02.jpg";
};
programs.nix-index-database.comma.enable = true;
home.packages = with pkgs; [
vivaldi
google-chrome
discord
discord-canary
discord-ptb
helvum
plemoljp
plemoljp-nf
prismlauncher
scrcpy
tetrio-desktop
kicad
gimp
inkscape
obsidian
kdePackages.filelight
inputs.zen-browser.packages."${stdenv.hostPlatform.system}".default
(deno.overrideAttrs (oldAttrs: {
doCheck = false;
}))
bun
nodejs_24
godot
unityhub
nixd
rar
rust-analyzer
ytmdesktop
opencode
aseprite
bambu-studio
orca-slicer
davinci-resolve
];
services.easyeffects = {
enable = true;
@ -59,8 +64,8 @@
programs.git = {
enable = true;
settings.user.name = "Kariya";
settings.user.email = "kariya2298@gmail.com";
settings.user.name = "Hare";
settings.user.email = "kei.hiracchi.0928@gmail.com";
};
fonts = {
@ -77,17 +82,11 @@
enable = true;
defaultApplications = {
"text/html" = "google-chrome.desktop";
"x-scheme-handler/http" = "google-chrome.desktop";
"x-scheme-handler/https" = "google-chrome.desktop";
"x-scheme-handler/about" = "google-chrome.desktop";
"x-scheme-handler/unknown" = "google-chrome.desktop";
"text/html" = "vivaldi-stable.desktop";
"x-scheme-handler/http" = "vivaldi-stable.desktop";
"x-scheme-handler/https" = "vivaldi-stable.desktop";
"x-scheme-handler/about" = "vivaldi-stable.desktop";
"x-scheme-handler/unknown" = "vivaldi-stable.desktop";
};
};
wayland.windowManager.hyprland.settings.monitor = [
"DP-1, 1920x1080@60, -1920x0, 1"
"DP-2, 1600x900@60, -3520x90, 1"
"DP-3, 1920x1080@240, 0x0, 1"
];
}

View File

@ -0,0 +1,14 @@
{ pkgs, ... }:
{
extraGroups = [
"adbusers"
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICi8Cciepfs1ikPdfyHjc9qJX5z2QLFF9jBszsyEvCMA nix-on-droid@localhost"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID8Eo/QDJtXqluvjNx5ZpeIt0c/yf/Mgr7dKhNWAICZX hare@x1carbon"
];
}

View File

@ -1,14 +1,16 @@
{
pkgs,
username,
...
}:
{ pkgs, ... }:
let
config.boot.kernelPackages = pkgs.linuxPackages_latest;
in
{
system.stateVersion = "25.11";
cornflake.greeter.monitors = [
"DP-1, 5120x2880@60, 0x0, 2"
"DP-2, disable"
"DP-3, disable"
];
imports = [
./hardware-configuration.nix
@ -30,7 +32,22 @@ in
vulkan-tools
android-tools
android-file-transfer
ddcutil
rocmPackages.rocm-runtime
rocmPackages.rocminfo
rocmPackages.clr
rocmPackages.rocm-smi
qemu
(pkgs.writeShellScriptBin "qemu-system-x86_64-uefi" ''
qemu-system-x86_64 \
-bios ${pkgs.OVMF.fd}/FV/OVMF.fd \
"$@"
'')
wineWow64Packages.waylandFull
winetricks
bluez
bluez-tools
bluetuith
@ -46,27 +63,22 @@ in
services.udisks2.enable = true;
services.keyd.enable = true;
hardware.i2c.enable = true;
services.keyd.keyboards.default = {
ids = [ "*" ];
settings = {
main = {
capslock = "C-space";
};
};
};
networking.firewall.allowedTCPPorts = [
8080
22
19132
25565
5173
8000
9001
2222 # crtb server
11434
];
networking.firewall.allowedUDPPorts = [ ];
services.udev.extraRules = "";
services.udev.extraRules = ''
ATTRS{idVendor}=="3151", ATTRS{idProduct}=="502d", MODE="0777"
ATTRS{idVendor}=="414", ATTRS{idProduct}=="211a", MODE="0777"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="input"
'';
hardware.bluetooth = {
enable = true;
@ -95,24 +107,8 @@ in
"v4l2loopback"
];
# Bootloader.
boot.loader.systemd-boot.enable = false;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot";
boot.loader.grub = {
enable = true;
efiSupport = true;
devices = [ "nodev" ];
useOSProber = true;
copyKernels = true;
configurationLimit = 10;
};
cornflake.greeter.monitors = [
"DP-1, disable"
"DP-2, disable"
"DP-3, 1920x1080@240, 0x0"
];
boot.initrd.kernelModules = [ "amdgpu" ];
}

View File

@ -1,7 +1,9 @@
inputs:
rec {
hosts = {
aqua = import ./aqua inputs;
arcadia = import ./arcadia inputs;
x1carbon = import ./x1carbon inputs;
fungus = import ./fungus inputs;
};
nixos = builtins.mapAttrs (_: host: host.nixos) hosts;
home-manager = builtins.foldl' (a: b: a // b) { } (map (h: h.home-manager) (builtins.attrValues hosts));

16
hosts/fungus/default.nix Normal file
View File

@ -0,0 +1,16 @@
inputs:
let
mkHost = import ../mkHost.nix inputs;
in
mkHost {
system = "x86_64-linux";
hostname = "Fungus";
users = [
{
username = "hare";
home = ./hare/home-manager.nix;
nixos = ./hare/nixos.nix;
}
];
systemModules = [ ./nixos.nix ];
}

View File

@ -0,0 +1,44 @@
# 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 = [
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/e4eb343c-d88f-4d63-99aa-c2c41d8580db";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -0,0 +1,25 @@
{ pkgs, ... }:
{
home.stateVersion = "25.05";
imports = [
../../../home-manager/direnv.nix
../../../home-manager/wezterm
../../../home-manager/fish
];
home.packages = with pkgs; [ ];
programs.git = {
enable = true;
settings.user.name = "Hare";
settings.user.email = "kei.hiracchi.0928@gmail.com";
};
fonts = {
fontconfig = {
defaultFonts = {
serif = [ "Noto Serif" ];
sansSerif = [ "Noto Sans" ];
monospace = [ "PlemolJP NF Console" ];
};
};
};
}

View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBd45JtvgM44KUqhp3Xl2Wtt6rmxU13c/84YLyGKigkG hare@nixos"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZTkjrLwH+jsSHF/LI23+WPQ9rff9vWBH1VaxSjNADIIKDY7vGkWWRUCImt8QTzied3mNFv+EyZ8igiJdm5tEO1KkrWUqTZk5Ut79LTQftB23SDNC8XzuHKxwaKHdwZIP065biRFUqNYHu8h0EHKbQ3Djj6cZYBcEL1JOc0wtm4jmuW6Fp3rCn/ZCo0g3Kg7SfY4cpf4fJTB97bIjPJzG7JSSOuTkJcDQzFrySUPOpgrt5+iSqKJ/tQtfxLHcNq8AMrh1fH6sUzaJLmMs/7V9LTbsbILTY4YQj5FF07dBqEJBwvZ9sRTPPzl/HSdVmp9OlCZnryPbjTKJmK1Nxx+tOZfh4IY3mWWnEegvDNCYwKJu+d+zeqDaSUMx0kpAnK9PLSI0By8FtboRVvSFSce6FouiUhEzJyKXAr3E1JCgQXdLcTTb66rbBcauuqhuieKDGPpz45EbFi83uHNeDodi5b75h5r1Nn+oJmzagwUAoyw4gCCbiYwTAe3GA79LK7kE= hare@hr-r620"
];
}

31
hosts/fungus/nixos.nix Normal file
View File

@ -0,0 +1,31 @@
{ pkgs, ... }:
{
system.stateVersion = "25.05";
imports = [
./hardware-configuration.nix
../../system/core
../../programs/ssh.nix
../../programs/utility.nix
../../programs/shell.nix
../../programs/docker.nix
];
environment.systemPackages = with pkgs; [
];
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
boot.loader.efi.canTouchEfiVariables = true;
programs.nix-ld.enable = true;
services.openssh.enable = true;
networking.firewall.allowedTCPPorts = [
22
25565
];
networking.firewall.allowedUDPPorts = [ ];
}

View File

@ -16,8 +16,8 @@ in
modules =
systemModules
++ (map (u: { pkgs, ... }: {
users.users.${u.username} = import u.userNixos { inherit pkgs; };
}) (builtins.filter (u: u ? userNixos) users))
users.users.${u.username} = import u.nixos { inherit pkgs; };
}) (builtins.filter (u: u ? nixos) users))
++ [
{
users.users = builtins.listToAttrs (map (u: {
@ -56,7 +56,8 @@ in
programs.home-manager.enable = true;
}
(import ../system/home-manager)
] ++ u.homeModule;
u.home
];
};
}) users);
}

View File

@ -0,0 +1,16 @@
inputs:
let
mkHost = import ../mkHost.nix inputs;
in
mkHost {
system = "x86_64-linux";
hostname = "x1carbon";
users = [
{
username = "hare";
home = ./hare/home-manager.nix;
nixos = ./hare/nixos.nix;
}
];
systemModules = [ ./nixos.nix ];
}

View File

@ -0,0 +1,31 @@
# 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 = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/92c8bab5-07b9-4394-888d-6cb481972018";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1711-8E2B";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -0,0 +1,68 @@
{
pkgs,
inputs,
lib,
...
}:
{
home.stateVersion = "25.05";
imports = [
../../../home-manager/hyprland
../../../home-manager/tofi.nix
../../../home-manager/fnott.nix
../../../home-manager/direnv.nix
../../../home-manager/obs-studio.nix
../../../home-manager/wezterm
../../../home-manager/fish
];
hare.hyprland = {
style = import ../../../home-manager/hyprland/styles/thin.nix { inherit lib; };
input.sensitivity = -0.6;
wallpaperCommand = "swww img /usr/share/wallpaper/";
};
home.packages = with pkgs; [
vivaldi
discord
helvum
plemoljp
plemoljp-nf
prismlauncher
scrcpy
gimp
zed-editor
deno
nodejs_latest
# aseprite
];
services.easyeffects = {
enable = true;
};
programs.git = {
enable = true;
settings.user.name = "Hare";
settings.user.email = "kei.hiracchi.0928@gmail.com";
};
fonts = {
fontconfig = {
defaultFonts = {
serif = [ "Noto Serif" ];
sansSerif = [ "Noto Sans" ];
monospace = [ "PlemolJP NF Console" ];
};
};
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "vivaldi-stable.desktop";
"x-scheme-handler/http" = "vivaldi-stable.desktop";
"x-scheme-handler/https" = "vivaldi-stable.desktop";
"x-scheme-handler/about" = "vivaldi-stable.desktop";
"x-scheme-handler/unknown" = "vivaldi-stable.desktop";
};
};
}

View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
];
}

88
hosts/x1carbon/nixos.nix Normal file
View File

@ -0,0 +1,88 @@
{ pkgs, ... }:
let
config.boot.kernelPackages = pkgs.linuxPackages_latest;
in
{
system.stateVersion = "25.11";
imports = [
./hardware-configuration.nix
../../system/core
../../programs/ssh.nix
../../programs/utility.nix
../../programs/shell.nix
../../programs/docker.nix
../../programs/v4l2.nix
../../programs/desktop/hyprland.nix
../../programs/fcitx.nix
../../programs/steam.nix
];
environment.systemPackages = with pkgs; [
openssl
bluetuith
brightnessctl
fzf
ghq
android-tools
];
environment.sessionVariables.NIXOS_OZONE_WL = "1";
programs.nix-ld.enable = true;
programs.light.enable = true;
services.openssh.enable = true;
services.udisks2.enable = true;
networking.firewall.allowedTCPPorts = [
22
];
networking.firewall.allowedUDPPorts = [ ];
services.openvpn.servers = {
homeVPN = {
config = ''config /root/nixos/openvpn/homeVPN.conf '';
};
};
services.udev.extraRules = ''
ATTRS{idVendor}=="3151", ATTRS{idProduct}=="502d", MODE="0777"
ATTRS{idVendor}=="414", ATTRS{idProduct}=="211a", MODE="0777"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="input"
'';
hardware.bluetooth = {
enable = true;
package = pkgs.bluez;
powerOnBoot = true;
settings = {
General = {
ControllerMode = "dual";
Experimental = true;
KernelExperimental = true;
FastConnectable = true;
# セキュリティレベルを調整
Class = "0x000100";
# ペアリングタイムアウトを延長
PairableTimeout = 0;
};
Policy = {
AutoEnable = true;
};
};
};
boot.kernelPackages = config.boot.kernelPackages;
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
boot.kernelModules = [
"v4l2loopback"
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}

View File

@ -10,6 +10,6 @@
bat
wezterm
libsixel
nixfmt-rfc-style
nixfmt
];
}