diff --git a/flake.lock b/flake.lock index 4f03dc7..7f95e59 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1766387499, - "narHash": "sha256-AjK3/UKDzeXFeYNLVBaJ3+HLE9he1g5UrlNd4/BM3eA=", + "lastModified": 1767391542, + "narHash": "sha256-qHXxJuFkQhggyeao/kQb6KcOjgz0Ky+ArfowRX1MHaE=", "owner": "nix-community", "repo": "home-manager", - "rev": "527ad07e6625302b648ed3b28c34b62a79bd103e", + "rev": "2f06b726061b7e1aa69f718e943da9ffcecd6397", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1764440730, - "narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=", + "lastModified": 1767185284, + "narHash": "sha256-ljDBUDpD1Cg5n3mJI81Hz5qeZAwCGxon4kQW3Ho3+6Q=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3", + "rev": "40b1a28dce561bea34858287fbb23052c3ee63fe", "type": "github" }, "original": { @@ -37,11 +37,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1766309749, - "narHash": "sha256-3xY8CZ4rSnQ0NqGhMKAy5vgC+2IVK0NoVEzDoOh4DA4=", + "lastModified": 1767116409, + "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a6531044f6d0bef691ea18d4d4ce44d0daa6e816", + "rev": "cad22e7d996aea55ecab064e84834289143e44a0", "type": "github" }, "original": { diff --git a/home-manager/hyprland-theme-thin.nix b/home-manager/hyprland-theme-thin.nix new file mode 100644 index 0000000..eba9f76 --- /dev/null +++ b/home-manager/hyprland-theme-thin.nix @@ -0,0 +1,47 @@ +{ pkgs, lib, ... }: +{ + wayland.windowManager.hyprland = { + settings = { + general = lib.mkForce { + gaps_in = 0; + gaps_out = 0; + border_size = 2; + "col.active_border" = "rgba(6e848cee) rgba(eeeeffee) 90deg"; + "col.inactive_border" = "rgba(595959aa)"; + layout = "dwindle"; + allow_tearing = true; + }; + + decoration = lib.mkForce { + rounding = 0; + blur = { + enabled = true; + size = 6; + passes = 2; + noise = 0.01; + contrast = 0.8; + brightness = 0.5; + vibrancy = 0.25; + vibrancy_darkness = 0.1; + }; + shadow = { + enabled = false; + }; + dim_inactive = false; + }; + + animations = lib.mkForce { + enabled = true; + animation = [ + "windowsIn, 1, 1, default, popin 90%" + "windowsOut, 1, 100, default, popin 80%" + "windowsMove, 1, 3, default" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 5, default, slidefade 10%" + ]; + }; + }; + }; +} diff --git a/hosts/arcadia/nixos.nix b/hosts/arcadia/nixos.nix index ab8e91c..f6de238 100644 --- a/hosts/arcadia/nixos.nix +++ b/hosts/arcadia/nixos.nix @@ -63,7 +63,8 @@ in "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" + ]; }; programs.adb.enable = true; programs.nix-ld.enable = true; diff --git a/hosts/default.nix b/hosts/default.nix index 6de67c0..a496a9c 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -64,6 +64,17 @@ rec { ./arcadia/home-manager.nix ]; }; + x1carbon = mkHost { + system = "x86_64-linux"; + hostname = "x1carbon"; + username = "hare"; + systemModules = [ + ./x1carbon/nixos.nix + ]; + homeModule = [ + ./x1carbon/home-manager.nix + ]; + }; fungus = mkHost { system = "x86_64-linux"; hostname = "Fungus"; @@ -79,9 +90,11 @@ rec { nixos = { arcadia = hosts.arcadia.nixos; fungus = hosts.fungus.nixos; + x1carbon = hosts.x1carbon.nixos; }; home-manager = { arcadia = hosts.arcadia.home-manager; fungus = hosts.fungus.home-manager; + x1carbon = hosts.x1carbon.home-manager; }; } diff --git a/hosts/x1carbon/hardware-configuration.nix b/hosts/x1carbon/hardware-configuration.nix new file mode 100644 index 0000000..50fa13e --- /dev/null +++ b/hosts/x1carbon/hardware-configuration.nix @@ -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; +} diff --git a/hosts/x1carbon/home-manager.nix b/hosts/x1carbon/home-manager.nix new file mode 100644 index 0000000..c72d282 --- /dev/null +++ b/hosts/x1carbon/home-manager.nix @@ -0,0 +1,58 @@ +{ pkgs, inputs, ... }: +{ + home.stateVersion = "25.05"; + imports = [ + ../../home-manager/hyprland.nix + ../../home-manager/hyprland-theme-thin.nix + + + ../../home-manager/tofi.nix + ../../home-manager/direnv.nix + ../../home-manager/obs-studio.nix + ]; + 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"; + }; + }; +} diff --git a/hosts/x1carbon/nixos.nix b/hosts/x1carbon/nixos.nix new file mode 100644 index 0000000..3fb0a7c --- /dev/null +++ b/hosts/x1carbon/nixos.nix @@ -0,0 +1,98 @@ +{ + 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; [ + openssl + + bluez + bluez-tools + bluetuith + + brightnessctl + + fzf + ghq + ]; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + + users.users.${username} = { + extraGroups = [ + "adbusers" + "docker" + ]; + shell = pkgs.fish; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop" + ]; + }; + programs.adb.enable = true; + 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.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; +} diff --git a/system/core/uwsm.nix b/system/core/uwsm.nix index 3bf9939..be70bc7 100644 --- a/system/core/uwsm.nix +++ b/system/core/uwsm.nix @@ -5,7 +5,6 @@ hyprland = { prettyName = "Hyprland"; comment = "Hyprland compositor managed by UWSM"; - binPath = "/run/current-system/sw/bin/Hyprland"; }; }; };