Compare commits
9 Commits
9f22a82d4a
...
1985a07745
| Author | SHA1 | Date | |
|---|---|---|---|
| 1985a07745 | |||
| 034f58347b | |||
| 004f91406a | |||
| 0d82893f5d | |||
| 252769034d | |||
| 6caed14054 | |||
| 8f3d89d542 | |||
| 1ee7f319a9 | |||
| 36c0a5a114 |
|
|
@ -5,7 +5,12 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkOption recursiveUpdate types optionals;
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
recursiveUpdate
|
||||||
|
types
|
||||||
|
optionals
|
||||||
|
;
|
||||||
rosePineHyprcursor = pkgs.callPackage ./rose-pine-hyprcursor.nix { };
|
rosePineHyprcursor = pkgs.callPackage ./rose-pine-hyprcursor.nix { };
|
||||||
|
|
||||||
defaultInput = {
|
defaultInput = {
|
||||||
|
|
@ -18,10 +23,10 @@ let
|
||||||
follow_mouse = true;
|
follow_mouse = true;
|
||||||
|
|
||||||
touchpad = {
|
touchpad = {
|
||||||
natural_scroll = true;
|
natural_scroll = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
natural_scroll = true;
|
natural_scroll = false;
|
||||||
sensitivity = 0.0;
|
sensitivity = 0.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -44,12 +49,12 @@ let
|
||||||
wallpaperCommand
|
wallpaperCommand
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
"dconf write /org/gnome/desktop/interface/gtk-theme 'Adwaita Dark'"
|
"dconf write /org/gnome/desktop/interface/gtk-theme 'Adwaita Dark'"
|
||||||
"dconf write /org/gnome/desktop/interface/icon-theme 'Adwaita Dark'"
|
"dconf write /org/gnome/desktop/interface/icon-theme 'Adwaita Dark'"
|
||||||
"dconf write /org/gnome/desktop/interface/document-font-name 'Noto Sans Medium 11'"
|
"dconf write /org/gnome/desktop/interface/document-font-name 'Noto Sans Medium 11'"
|
||||||
"dconf write /org/gnome/desktop/interface/font-name 'Noto Sans Medium 11'"
|
"dconf write /org/gnome/desktop/interface/font-name 'Noto Sans Medium 11'"
|
||||||
"dconf write /org/gnome/desktop/interface/monospace-font-name 'Noto Sans Mono Medium 11'"
|
"dconf write /org/gnome/desktop/interface/monospace-font-name 'Noto Sans Mono Medium 11'"
|
||||||
];
|
];
|
||||||
env = [
|
env = [
|
||||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
"XDG_SESSION_TYPE,wayland"
|
"XDG_SESSION_TYPE,wayland"
|
||||||
|
|
@ -144,6 +149,9 @@ let
|
||||||
"SUPER_CTRL, right, workspace, m+1"
|
"SUPER_CTRL, right, workspace, m+1"
|
||||||
"SUPER_CTRL_SHIFT, left, workspace, r-1"
|
"SUPER_CTRL_SHIFT, left, workspace, r-1"
|
||||||
"SUPER_CTRL_SHIFT, right, workspace, r+1"
|
"SUPER_CTRL_SHIFT, right, workspace, r+1"
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
"SUPER_SHIFT, S, exec, hyprshot -m region --clipboard-only"
|
||||||
]
|
]
|
||||||
++ (
|
++ (
|
||||||
# workspaces
|
# workspaces
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@
|
||||||
{
|
{
|
||||||
programs.zed-editor = {
|
programs.zed-editor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions = [ "nix" "toml" "rust" ];
|
extensions = [
|
||||||
|
"nix"
|
||||||
|
"toml"
|
||||||
|
"rust"
|
||||||
|
];
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
theme = {
|
theme = {
|
||||||
|
|
@ -12,11 +16,12 @@
|
||||||
light = "Kanagawa Lotus";
|
light = "Kanagawa Lotus";
|
||||||
};
|
};
|
||||||
hour_format = "hour24";
|
hour_format = "hour24";
|
||||||
vim_mode = true;
|
vim_mode = false;
|
||||||
buffer_font_size = 12.0;
|
buffer_font_size = 12.0;
|
||||||
buffer_font_family = "PlemolJP Console NF";
|
buffer_font_family = "PlemolJP Console NF";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
fonts.fontconfig.enable = true;
|
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";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
BIN
hosts/.default.nix.swp
Normal file
BIN
hosts/.default.nix.swp
Normal file
Binary file not shown.
16
hosts/aqua/default.nix
Normal file
16
hosts/aqua/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
inputs:
|
||||||
|
let
|
||||||
|
mkHost = import ../mkHost.nix inputs;
|
||||||
|
in
|
||||||
|
mkHost {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "AQUA";
|
||||||
|
users = [
|
||||||
|
{
|
||||||
|
username = "umi";
|
||||||
|
homeModule = [ ./umi/home-manager.nix ];
|
||||||
|
userNixos = ./umi/nixos.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
systemModules = [ ./nixos.nix ];
|
||||||
|
}
|
||||||
54
hosts/aqua/hardware-configuration.nix
Normal file
54
hosts/aqua/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
# 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"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/e8956bf9-0123-4caf-8a5d-abe77a33e83a";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/6949-1506";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
118
hosts/aqua/nixos.nix
Normal file
118
hosts/aqua/nixos.nix
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
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; [
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
rustfmt
|
||||||
|
openssl
|
||||||
|
vulkan-tools
|
||||||
|
android-tools
|
||||||
|
android-file-transfer
|
||||||
|
ddcutil
|
||||||
|
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;
|
||||||
|
|
||||||
|
services.keyd.enable = true;
|
||||||
|
|
||||||
|
hardware.i2c.enable = true;
|
||||||
|
|
||||||
|
services.keyd.keyboards.default = {
|
||||||
|
ids = [ "*" ];
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
capslock = "C-space";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
22
|
||||||
|
19132
|
||||||
|
25565
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [ ];
|
||||||
|
|
||||||
|
services.udev.extraRules = "";
|
||||||
|
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = false;
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
}
|
||||||
93
hosts/aqua/umi/home-manager.nix
Normal file
93
hosts/aqua/umi/home-manager.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
imports = [
|
||||||
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
|
../../../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/voicevox.nix
|
||||||
|
];
|
||||||
|
hare.hyprland = {
|
||||||
|
input.sensitivity = -0.85;
|
||||||
|
wallpaperCommand = "swww img /usr/share/wallpaper/arknights-02.jpg";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nix-index-database.comma.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
google-chrome
|
||||||
|
discord
|
||||||
|
discord-canary
|
||||||
|
discord-ptb
|
||||||
|
helvum
|
||||||
|
plemoljp
|
||||||
|
plemoljp-nf
|
||||||
|
prismlauncher
|
||||||
|
scrcpy
|
||||||
|
tetrio-desktop
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
obsidian
|
||||||
|
kdePackages.filelight
|
||||||
|
(deno.overrideAttrs (oldAttrs: {
|
||||||
|
doCheck = false;
|
||||||
|
}))
|
||||||
|
bun
|
||||||
|
nodejs_24
|
||||||
|
nixd
|
||||||
|
rar
|
||||||
|
rust-analyzer
|
||||||
|
ytmdesktop
|
||||||
|
opencode
|
||||||
|
];
|
||||||
|
services.easyeffects = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings.user.name = "Kariya";
|
||||||
|
settings.user.email = "kariya2298@gmail.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
fontconfig = {
|
||||||
|
defaultFonts = {
|
||||||
|
serif = [ "Noto Serif" ];
|
||||||
|
sansSerif = [ "Noto Sans" ];
|
||||||
|
monospace = [ "PlemolJP NF Console" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.monitor = [
|
||||||
|
"DP-1, 1920x1080@60, -1920x0, 1"
|
||||||
|
"DP-2, 1600x900@60, -3520x90, 1"
|
||||||
|
"DP-3, 1920x1080@240, 0x0, 1"
|
||||||
|
];
|
||||||
|
}
|
||||||
10
hosts/aqua/umi/nixos.nix
Normal file
10
hosts/aqua/umi/nixos.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
extraGroups = [
|
||||||
|
"docker"
|
||||||
|
"i2c"
|
||||||
|
];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
# openssh.authroizedKeys.keys = [
|
||||||
|
# ];
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
inputs:
|
inputs: rec {
|
||||||
rec {
|
|
||||||
hosts = {
|
hosts = {
|
||||||
|
aqua = import ./aqua inputs;
|
||||||
arcadia = import ./arcadia inputs;
|
arcadia = import ./arcadia inputs;
|
||||||
x1carbon = import ./x1carbon inputs;
|
x1carbon = import ./x1carbon inputs;
|
||||||
fungus = import ./fungus 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)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,22 +15,30 @@ 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.nixos { inherit pkgs; };
|
u:
|
||||||
}) (builtins.filter (u: u ? nixos) 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 (
|
||||||
name = u.username;
|
map (u: {
|
||||||
value = {
|
name = u.username;
|
||||||
isNormalUser = true;
|
value = {
|
||||||
description = "";
|
isNormalUser = true;
|
||||||
extraGroups = [
|
description = "";
|
||||||
"networkmanager"
|
extraGroups = [
|
||||||
"wheel"
|
"networkmanager"
|
||||||
];
|
"wheel"
|
||||||
};
|
];
|
||||||
}) users);
|
};
|
||||||
|
}) users
|
||||||
|
);
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
@ -39,25 +47,27 @@ in
|
||||||
users = map (u: u.username) users;
|
users = map (u: u.username) users;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home-manager = builtins.listToAttrs (map (u: {
|
home-manager = builtins.listToAttrs (
|
||||||
name = "${u.username}@${hostname}";
|
map (u: {
|
||||||
value = inputs.home-manager.lib.homeManagerConfiguration {
|
name = "${u.username}@${hostname}";
|
||||||
inherit pkgs;
|
value = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
extraSpecialArgs = {
|
inherit pkgs;
|
||||||
inherit inputs hostname;
|
extraSpecialArgs = {
|
||||||
username = u.username;
|
inherit inputs hostname;
|
||||||
|
username = u.username;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
username = u.username;
|
||||||
|
homeDirectory = "/home/${u.username}";
|
||||||
|
};
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
|
(import ../system/home-manager)
|
||||||
|
]
|
||||||
|
++ (if u ? homeModule then u.homeModule else [ u.home ]);
|
||||||
};
|
};
|
||||||
modules = [
|
}) users
|
||||||
{
|
);
|
||||||
home = {
|
|
||||||
username = u.username;
|
|
||||||
homeDirectory = "/home/${u.username}";
|
|
||||||
};
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
(import ../system/home-manager)
|
|
||||||
u.home
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}) users);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,6 @@
|
||||||
bat
|
bat
|
||||||
wezterm
|
wezterm
|
||||||
libsixel
|
libsixel
|
||||||
nixfmt
|
nixfmt-rfc-style
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user