Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f0f04f1a7 | |||
| a27b4930dd | |||
| 17c68732d7 | |||
| 0ac081a8f1 | |||
| 034f58347b | |||
| 004f91406a | |||
| 0d82893f5d | |||
| 252769034d | |||
| 6caed14054 | |||
| 8f3d89d542 | |||
| 1ee7f319a9 | |||
| 36c0a5a114 |
|
|
@ -5,7 +5,12 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption recursiveUpdate types optionals;
|
||||
inherit (lib)
|
||||
mkOption
|
||||
recursiveUpdate
|
||||
types
|
||||
optionals
|
||||
;
|
||||
rosePineHyprcursor = pkgs.callPackage ./rose-pine-hyprcursor.nix { };
|
||||
|
||||
defaultInput = {
|
||||
|
|
@ -18,10 +23,10 @@ let
|
|||
follow_mouse = true;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
natural_scroll = false;
|
||||
};
|
||||
|
||||
natural_scroll = true;
|
||||
natural_scroll = false;
|
||||
sensitivity = 0.0;
|
||||
};
|
||||
|
||||
|
|
@ -44,12 +49,12 @@ let
|
|||
wallpaperCommand
|
||||
]
|
||||
++ [
|
||||
"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/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/monospace-font-name 'Noto Sans Mono Medium 11'"
|
||||
];
|
||||
"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/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/monospace-font-name 'Noto Sans Mono Medium 11'"
|
||||
];
|
||||
env = [
|
||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
|
|
@ -144,6 +149,9 @@ 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
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@
|
|||
{
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
extensions = [ "nix" "toml" "rust" ];
|
||||
extensions = [
|
||||
"nix"
|
||||
"toml"
|
||||
"rust"
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
theme = {
|
||||
|
|
@ -12,11 +16,12 @@
|
|||
light = "Kanagawa Lotus";
|
||||
};
|
||||
hour_format = "hour24";
|
||||
vim_mode = true;
|
||||
vim_mode = false;
|
||||
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";
|
||||
}
|
||||
|
|
|
|||
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"
|
||||
];
|
||||
}
|
||||
95
hosts/aqua/umi/home-manager.nix
Normal file
95
hosts/aqua/umi/home-manager.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
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
|
||||
pnpm_9
|
||||
ntfs3g
|
||||
];
|
||||
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:
|
||||
rec {
|
||||
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));
|
||||
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 {
|
||||
modules =
|
||||
systemModules
|
||||
++ (map (u: { pkgs, ... }: {
|
||||
users.users.${u.username} = import u.nixos { inherit pkgs; };
|
||||
}) (builtins.filter (u: u ? nixos) users))
|
||||
++ (map (
|
||||
u:
|
||||
{ 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: {
|
||||
name = u.username;
|
||||
value = {
|
||||
isNormalUser = true;
|
||||
description = "";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
}) users);
|
||||
users.users = builtins.listToAttrs (
|
||||
map (u: {
|
||||
name = u.username;
|
||||
value = {
|
||||
isNormalUser = true;
|
||||
description = "";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
}) users
|
||||
);
|
||||
}
|
||||
];
|
||||
inherit system;
|
||||
|
|
@ -39,25 +47,27 @@ in
|
|||
users = map (u: u.username) users;
|
||||
};
|
||||
};
|
||||
home-manager = builtins.listToAttrs (map (u: {
|
||||
name = "${u.username}@${hostname}";
|
||||
value = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs hostname;
|
||||
username = u.username;
|
||||
home-manager = builtins.listToAttrs (
|
||||
map (u: {
|
||||
name = "${u.username}@${hostname}";
|
||||
value = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
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 = [
|
||||
{
|
||||
home = {
|
||||
username = u.username;
|
||||
homeDirectory = "/home/${u.username}";
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
(import ../system/home-manager)
|
||||
u.home
|
||||
];
|
||||
};
|
||||
}) users);
|
||||
}) users
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@
|
|||
bat
|
||||
wezterm
|
||||
libsixel
|
||||
nixfmt
|
||||
nixfmt-rfc-style
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user