Merge hare/master into master
This commit is contained in:
commit
a27b4930dd
|
|
@ -3,5 +3,5 @@
|
||||||
```
|
```
|
||||||
sudo nixos-rebuild switch --flake .#<host>
|
sudo nixos-rebuild switch --flake .#<host>
|
||||||
|
|
||||||
nix run .#home-manager -- switch --flake .#<host>
|
nix run .#home-manager -- switch --flake .#<username>@<host>
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,9 @@
|
||||||
apps.home-manager = {
|
apps.home-manager = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = "${hm}/bin/home-manager";
|
program = "${hm}/bin/home-manager";
|
||||||
|
meta = {
|
||||||
|
description = "Home Manager for Nix";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
|
||||||
16
hosts/arcadia/default.nix
Normal file
16
hosts/arcadia/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
inputs:
|
||||||
|
let
|
||||||
|
mkHost = import ../mkHost.nix inputs;
|
||||||
|
in
|
||||||
|
mkHost {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Arcadia";
|
||||||
|
users = [
|
||||||
|
{
|
||||||
|
username = "hare";
|
||||||
|
home = ./hare/home-manager.nix;
|
||||||
|
nixos = ./hare/nixos.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
systemModules = [ ./nixos.nix ];
|
||||||
|
}
|
||||||
11
hosts/arcadia/display.nix
Normal file
11
hosts/arcadia/display.nix
Normal 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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
58
hosts/arcadia/hardware-configuration.nix
Normal file
58
hosts/arcadia/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/f3934858-078f-463a-9dd3-d6ba220ced6d";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/FFAC-0945";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
92
hosts/arcadia/hare/home-manager.nix
Normal file
92
hosts/arcadia/hare/home-manager.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
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
|
||||||
|
../../../home-manager/wezterm
|
||||||
|
../../../home-manager/fish
|
||||||
|
../../../home-manager/vscode.nix
|
||||||
|
../../../home-manager/direnv.nix
|
||||||
|
../../../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 = -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
|
||||||
|
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;
|
||||||
|
}))
|
||||||
|
nodejs_24
|
||||||
|
godot
|
||||||
|
unityhub
|
||||||
|
nixd
|
||||||
|
rust-analyzer
|
||||||
|
aseprite
|
||||||
|
bambu-studio
|
||||||
|
orca-slicer
|
||||||
|
davinci-resolve
|
||||||
|
];
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
hosts/arcadia/hare/nixos.nix
Normal file
14
hosts/arcadia/hare/nixos.nix
Normal 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"
|
||||||
|
];
|
||||||
|
}
|
||||||
114
hosts/arcadia/nixos.nix
Normal file
114
hosts/arcadia/nixos.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
{ 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
|
||||||
|
|
||||||
|
../../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; [
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
rustfmt
|
||||||
|
openssl
|
||||||
|
vulkan-tools
|
||||||
|
android-tools
|
||||||
|
android-file-transfer
|
||||||
|
|
||||||
|
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
|
||||||
|
obexftp
|
||||||
|
fzf
|
||||||
|
ghq
|
||||||
|
];
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8080
|
||||||
|
22
|
||||||
|
5173
|
||||||
|
8000
|
||||||
|
9001
|
||||||
|
2222 # crtb server
|
||||||
|
11434
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [ ];
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
inputs:
|
inputs: rec {
|
||||||
rec {
|
|
||||||
hosts = {
|
hosts = {
|
||||||
aqua = import ./aqua inputs;
|
aqua = import ./aqua inputs;
|
||||||
|
arcadia = import ./arcadia inputs;
|
||||||
|
x1carbon = import ./x1carbon inputs;
|
||||||
|
fungus = import ./fungus inputs;
|
||||||
};
|
};
|
||||||
nixos = builtins.mapAttrs (_: host: host.nixos) hosts;
|
nixos = builtins.mapAttrs (_: host: host.nixos) hosts;
|
||||||
home-manager = builtins.foldl' (a: b: a // b) { } (map (h: h.home-manager) (builtins.attrValues hosts));
|
home-manager = builtins.foldl' (a: b: a // b) { } (
|
||||||
|
map (h: h.home-manager) (builtins.attrValues hosts)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
16
hosts/fungus/default.nix
Normal file
16
hosts/fungus/default.nix
Normal 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 ];
|
||||||
|
}
|
||||||
44
hosts/fungus/hardware-configuration.nix
Normal file
44
hosts/fungus/hardware-configuration.nix
Normal 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;
|
||||||
|
}
|
||||||
25
hosts/fungus/hare/home-manager.nix
Normal file
25
hosts/fungus/hare/home-manager.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
hosts/fungus/hare/nixos.nix
Normal file
11
hosts/fungus/hare/nixos.nix
Normal 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
31
hosts/fungus/nixos.nix
Normal 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 = [ ];
|
||||||
|
}
|
||||||
|
|
@ -15,12 +15,19 @@ in
|
||||||
nixos = inputs.nixpkgs.lib.nixosSystem {
|
nixos = inputs.nixpkgs.lib.nixosSystem {
|
||||||
modules =
|
modules =
|
||||||
systemModules
|
systemModules
|
||||||
++ (map (u: { pkgs, ... }: {
|
++ (map (
|
||||||
users.users.${u.username} = import u.userNixos { inherit pkgs; };
|
u:
|
||||||
}) (builtins.filter (u: u ? userNixos) users))
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
users.users.${u.username} = import (if u ? userNixos then u.userNixos else u.nixos) {
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
) (builtins.filter (u: u ? userNixos || u ? nixos) users))
|
||||||
++ [
|
++ [
|
||||||
{
|
{
|
||||||
users.users = builtins.listToAttrs (map (u: {
|
users.users = builtins.listToAttrs (
|
||||||
|
map (u: {
|
||||||
name = u.username;
|
name = u.username;
|
||||||
value = {
|
value = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|
@ -30,7 +37,8 @@ in
|
||||||
"wheel"
|
"wheel"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}) users);
|
}) users
|
||||||
|
);
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
@ -39,7 +47,8 @@ in
|
||||||
users = map (u: u.username) users;
|
users = map (u: u.username) users;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home-manager = builtins.listToAttrs (map (u: {
|
home-manager = builtins.listToAttrs (
|
||||||
|
map (u: {
|
||||||
name = "${u.username}@${hostname}";
|
name = "${u.username}@${hostname}";
|
||||||
value = inputs.home-manager.lib.homeManagerConfiguration {
|
value = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
@ -56,7 +65,9 @@ in
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
(import ../system/home-manager)
|
(import ../system/home-manager)
|
||||||
] ++ u.homeModule;
|
]
|
||||||
|
++ (if u ? homeModule then u.homeModule else [ u.home ]);
|
||||||
};
|
};
|
||||||
}) users);
|
}) users
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
16
hosts/x1carbon/default.nix
Normal file
16
hosts/x1carbon/default.nix
Normal 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 ];
|
||||||
|
}
|
||||||
31
hosts/x1carbon/hardware-configuration.nix
Normal file
31
hosts/x1carbon/hardware-configuration.nix
Normal 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;
|
||||||
|
}
|
||||||
68
hosts/x1carbon/hare/home-manager.nix
Normal file
68
hosts/x1carbon/hare/home-manager.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
hosts/x1carbon/hare/nixos.nix
Normal file
11
hosts/x1carbon/hare/nixos.nix
Normal 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
88
hosts/x1carbon/nixos.nix
Normal 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;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user