imnyang/nix-flakes
Watch
1
0
Fork
You've already forked nix-flakes
0

Initial commit
Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled

This commit is contained in:
암냥 2026-07-03 16:53:49 +09:00
commit 70284509f3
No known key found for this signature in database
144 changed files with 7061 additions and 0 deletions

View file

@ -0,0 +1,74 @@
name: CI
on:
push:
branches:
- main
paths-ignore:
- "hosts/machine/kanade/**"
pull_request:
paths-ignore:
- "hosts/machine/kanade/**"
jobs:
check:
runs-on: x86_64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check flake
run: |
source /etc/bashrc
nix flake check
ida:
runs-on: x86_64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prefetch IDA
run: |
source /etc/bashrc
nix-prefetch-url --type sha256 https://file.mizuki.guru/.ida/ida-free-pc_93_x64linux.run
cpt:
runs-on: x86_64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prefetch Cisco Packet Tracer
run: |
source /etc/bashrc
nix-prefetch-url --type sha256 https://file.mizuki.guru/.cpt/CiscoPacketTracer_900_Ubuntu_64bit.deb
nix-prefetch-url --type sha256 https://file.mizuki.guru/.cpt/CiscoPacketTracer822_amd64_signed.deb
build-nixos:
needs: check
runs-on: x86_64
strategy:
fail-fast: false
matrix:
host: [mizuki, ena, hako, kazusa]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build NixOS configuration with nom
run: |
source /etc/bashrc
nix build .#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel
- name: Cache & Push to Attic
if: success()
env:
ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }}
ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }}
run: |
source /etc/bashrc
nix shell nixpkgs#attic-client -c bash -c "
attic login imnyang \"$ATTIC_SERVER\" \"$ATTIC_TOKEN\"
attic push imnyang ./result
"
- name: Clean Builder Environment
if: success()
run: |
nix-collect-garbage -d

13
.gitignore vendored Normal file
View file

@ -0,0 +1,13 @@
result
result-*
*.swp
*.swo
*~
# sops: keep encrypted secret files in git, ignore local key material/artifacts
*.dec
*.decrypted
.sops-age-key
keys.txt
.DS_Store

3
README.md Normal file
View file

@ -0,0 +1,3 @@
nr
clean
update

19
assets/1password.desktop Normal file
View file

@ -0,0 +1,19 @@
[Desktop Entry]
Categories=Office;
Comment[en_US]=Password manager and secure wallet
Comment=Password manager and secure wallet
Exec=1password --silent %U
GenericName[en_US]=
GenericName=
Icon=1password
MimeType=
Name[en_US]=1Password
Name=1Password
Path=
StartupNotify=true
StartupWMClass=1Password
Terminal=false
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=

147
assets/Kawa.colors Normal file
View file

@ -0,0 +1,147 @@
[ColorEffects:Disabled]
Color=56,56,56
ColorAmount=0
ColorEffect=0
ContrastAmount=0.65
ContrastEffect=1
IntensityAmount=0.1
IntensityEffect=2
[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0
[Colors:Button]
BackgroundAlternate=163,212,250
BackgroundNormal=252,248,249
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=25,16,23
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Complementary]
BackgroundAlternate=27,30,32
BackgroundNormal=42,46,50
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=161,169,177
ForegroundLink=29,153,243
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Header]
BackgroundAlternate=239,240,241
BackgroundNormal=222,224,226
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Header][Inactive]
BackgroundAlternate=227,229,231
BackgroundNormal=239,240,241
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Selection]
BackgroundAlternate=163,212,250
BackgroundNormal=236,183,213
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=255,255,255
ForegroundInactive=112,125,138
ForegroundLink=253,188,75
ForegroundNegative=176,55,69
ForegroundNeutral=198,92,0
ForegroundNormal=25,16,23
ForegroundPositive=23,104,57
ForegroundVisited=155,89,182
[Colors:Tooltip]
BackgroundAlternate=239,240,241
BackgroundNormal=247,247,247
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:View]
BackgroundAlternate=247,247,247
BackgroundNormal=252,248,249
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=25,16,23
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Window]
BackgroundAlternate=227,229,231
BackgroundNormal=252,248,249
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=25,16,23
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[General]
ColorScheme=BreezeLight
Name=Kawa
shadeSortColumn=true
[KDE]
contrast=4
[WM]
activeBackground=227,229,231
activeBlend=227,229,231
activeForeground=35,38,41
inactiveBackground=239,240,241
inactiveBlend=239,240,241
inactiveForeground=112,125,138

BIN
assets/avatar.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -0,0 +1,4 @@
[wallpaper1.jpg - @Drift0827](https://x.com/Drift0827/status/1990350670445306010?s=20)
[wallpaper2.png - 服作り奮闘中 Card](https://sekai.best/card/1356)
[wallpaper3.png - 気づいてしまった想い Card](https://sekai.best/card/202)
[wallpaper4.png - 当たり前になった打ち上げ](https://sekai.best/card/363)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

1065
flake.lock generated Normal file

File diff suppressed because it is too large Load diff

139
flake.nix Normal file
View file

@ -0,0 +1,139 @@
{
description = "imnyang's Nix Configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-2511.url = "github:NixOS/nixpkgs/nixos-25.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
catppuccin.url = "github:catppuccin/nix";
nix-flatpak.url = "github:gmodena/nix-flatpak/";
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
darwin = {
url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixcord.url = "github:FlameFlag/nixcord";
# nixcord.url = "path:/home/imnyang/workspaces/git/imnyang/nixcord";
vscode-nigo = {
url = "git+https://git.pari.ng/imnyang/vscode-nigo.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
notion-desktop = {
url = "github:heytcass/notion-mac-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
notion-calendar-electron.url = "github:czlabinger/notion-calendar-electron";
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
vicinae.url = "github:vicinaehq/vicinae";
vicinae-extensions = {
url = "github:vicinaehq/extensions";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
codex-app = {
url = "github:ilysenko/codex-desktop-linux";
};
quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
rustfs = {
url = "github:rustfs/rustfs-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
imnyang.url = "git+https://git.mizuki.guru/imnyang/nix-packages.git";
paring.url = "git+https://git.pari.ng/paring/nix-packages.git";
mizuki-nc.url = "git+https://git.mizuki.guru/imnyang/mizuki.guru.git?rev=70b1c9a2befc933c63f2b3197655b4f1166f9fbb";
muvel.url = "github:imnyang/muvel-nix";
};
outputs =
inputs@{
imnyang,
paring,
...
}:
let
# Overlays
overlays = [
paring.overlays.default
imnyang.overlays.default
inputs.millennium.overlays.default
(import ./overlays/spotx.nix)
(final: prev: {
pythonPackagesExtensions = (prev.pythonPackagesExtensions or [ ]) ++ [
(python-final: python-prev: {
uefi-firmware-parser = python-prev.uefi-firmware-parser.overridePythonAttrs (old: {
build-system = (old.build-system or [ ]) ++ [
python-final.setuptools-scm
];
});
})
];
})
(import ./overlays/hoffice)
];
mkHost =
hostPath: overlays:
import hostPath {
inherit inputs overlays;
};
in
{
nixosConfigurations = {
# Machine
mafuyu = mkHost ./hosts/machine/mafuyu overlays;
mizuki = mkHost ./hosts/machine/mizuki overlays;
ena = mkHost ./hosts/machine/ena overlays;
ribbon = mkHost ./hosts/machine/ribbon [
paring.overlays.default
imnyang.overlays.default
];
# Server
hikari = mkHost ./hosts/server/hikari/default overlays;
hako = mkHost ./hosts/server/hikari/hako overlays;
natsu = mkHost ./hosts/server/natsu overlays;
kazusa = mkHost ./hosts/server/kazusa overlays;
};
darwinConfigurations = {
# Machine
kanade = mkHost ./hosts/machine/kanade overlays;
};
};
}

View file

@ -0,0 +1,59 @@
{
config,
pkgs,
inputs,
...
}:
{
imports = [
./hardware-configuration.nix
"${inputs.self}/modules/nixos/base"
"${inputs.self}/modules/nixos/features/boot.nix"
"${inputs.self}/modules/nixos/features/fonts.nix"
"${inputs.self}/modules/nixos/features/plasma.nix"
"${inputs.self}/modules/nixos/features/sound.nix"
"${inputs.self}/modules/nixos/features/packages.nix"
"${inputs.self}/modules/nixos/features/catppuccin.nix"
"${inputs.self}/modules/nixos/features/figma-agent.nix"
"${inputs.self}/modules/nixos/features/sbctl.nix"
"${inputs.self}/modules/nixos/features/grub-standalone.nix"
"${inputs.self}/modules/nixos/features/virtualisation.nix"
"${inputs.self}/modules/nixos/features/cockpit.nix"
"${inputs.self}/modules/nixos/features/bluetooth.nix"
"${inputs.self}/modules/nixos/features/graphics.nix"
"${inputs.self}/modules/nixos/features/steam.nix"
"${inputs.self}/modules/nixos/features/ssh.nix"
];
networking = {
hostName = "ena";
networkmanager.enable = true;
firewall.enable = false;
};
networking.networkmanager.plugins = [
pkgs.networkmanager-ssh
];
services.printing.enable = true;
services.power-profiles-daemon.enable = true;
services.asusd.enable = true;
services.netbird.enable = true;
systemd.services.asusctl-battery-limit = {
description = "Set ASUS battery charge limit";
wantedBy = [ "multi-user.target" ];
wants = [ "asusd.service" ];
after = [ "asusd.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.asusctl}/bin/asusctl battery limit 95";
RemainAfterExit = true;
};
};
services.cloudflare-warp.enable = true;
system.stateVersion = "25.11";
}

View file

@ -0,0 +1,42 @@
{
inputs,
overlays,
}:
let
inherit (inputs)
nixpkgs
home-manager
catppuccin
nix-flatpak
plasma-manager
spicetify-nix
vicinae
;
in
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hardware-configuration.nix
./configuration.nix
catppuccin.nixosModules.catppuccin
nix-flatpak.nixosModules.nix-flatpak
# lanzaboote.nixosModules.lanzaboote
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.sharedModules = [
plasma-manager.homeModules.plasma-manager
spicetify-nix.homeManagerModules.default
vicinae.homeManagerModules.default
];
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.imnyang = import ./home;
}
];
specialArgs = {
inherit inputs;
inherit overlays;
};
}

View file

@ -0,0 +1,71 @@
# 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"
"thunderbolt"
"nvme"
"usbhid"
];
boot.initrd.kernelModules = [ "xe" ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [
# NVMe APST(Autonomous Power State Transition) 관련 이슈 방지
"nvme_core.default_ps_max_latency_us=0"
"xe.enable_psr=0"
"intel_idle.max_cstate=2" # C-state를 깊게 들어가지 않도록 제한 (테스트 후 점진적으로 상향 가능)
];
hardware.enableRedistributableFirmware = true;
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/161e6b72-1ec6-4b9c-b1b7-325dd4320c2e";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-5a2a5e2d-749d-408e-82df-82e8607ae67e" = {
device = "/dev/disk/by-uuid/5a2a5e2d-749d-408e-82df-82e8607ae67e";
allowDiscards = true;
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7078-16D1";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
intel-compute-runtime
vpl-gpu-rt # Lunar Lake 비디오 가속을 위한 핵심 패키지
];
};
hardware.cpu.intel.updateMicrocode = true;
services.thermald.enable = true; # 인텔 CPU 발열 및 전력 관리 보조
services.fstrim.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
# hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,15 @@
{ inputs, ... }:
let
assets = "${inputs.self}/assets";
in
{
imports = [ "${inputs.self}/modules/home/plasma.nix" ];
programs.plasma.workspace.cursor = {
theme = "pjsk-cursor-n25-ena-ani";
};
programs.plasma.workspace.wallpaper = "${assets}/wallpaper/wallpaper1.jpg";
programs.plasma.kscreenlocker.appearance.wallpaper = "${assets}/wallpaper/wallpaper3.png";
}

View file

@ -0,0 +1,59 @@
{
programs.fish = {
enable = true;
shellAliases = {
# 디렉토리 네비게이션
".." = "cd ..";
"..." = "cd ../..";
# ls 별칭
ls = "eza --icons=always";
ll = "eza --icons=always -l";
la = "eza --icons=always -a";
lla = "eza --icons=always -la";
cat = "bat --plain";
# NixOS 관련
rebuild = "nr";
update = "nix flake update";
clean = "sudo nix-collect-garbage -d";
};
interactiveShellInit = ''
set -g fish_greeting ""
set -g fish_color_command blue
set -g fish_color_error red
set -g fish_color_param cyan
'';
};
programs.starship = {
enable = true;
settings = {
format = "🎨 $directory:$character";
add_newline = false;
# username = {
# style_user = "purple";
# style_root = "purple";
# format = "[$user]($style)";
# show_always = true;
# };
# hostname = {
# style = "green";
# format = "[$hostname]($style)";
# ssh_only = false;
# };
directory = {
style = "fg:#fbb6c4";
format = "[$path]($style)";
truncation_length = 3;
};
character = {
success_symbol = " 💕";
error_symbol = " ⚠️";
};
};
};
}

View file

@ -0,0 +1,46 @@
{
config,
pkgs,
inputs,
...
}:
{
xdg.enable = true;
# gtk.enable = true;
home.stateVersion = "25.05";
home.username = "imnyang";
home.homeDirectory = "/home/imnyang";
home.packages = import ./packages.nix { inherit pkgs inputs; };
home.sessionVariables = {
EDITOR = "nano";
VISUAL = "nano";
};
xdg.configFile."fontconfig/conf.d/10-hm-fonts.conf".force = true;
programs.vicinae = {
enable = true;
systemd = {
enable = true;
autoStart = true;
environment = {
USE_LAYER_SHELL = 1;
};
};
};
imports = [
"${inputs.self}/modules/home/git.nix"
# "${inputs.self}/modules/home/firefox.nix
"${inputs.self}/modules/home/neovim.nix"
"${inputs.self}/modules/home/spicetify.nix"
"${inputs.self}/modules/home/ghostty.nix"
"${inputs.self}/modules/home/zed.nix"
"${inputs.self}/modules/home/discord/linux.nix"
"${inputs.self}/modules/home/vscode.nix"
./config/shell.nix
./config/plasma.nix
];
}

View file

@ -0,0 +1,27 @@
{ pkgs, inputs }:
let
system = pkgs.stdenv.hostPlatform.system;
pkgsPacketTracer8 = import inputs.nixpkgs-2511 {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"ciscoPacketTracer8-8.2.2"
];
};
};
in
with pkgs;
(import ../../../../modules/home/packages.nix { inherit pkgs inputs; })
++ [
# tail-tray
kdePackages.kcolorchooser
fastfetch
# amnezia-vpn
# inputs.waterfox.packages.${pkgs.system}.waterfox
gnome-network-displays
element-desktop
cisco-packet-tracer_9
pkgsPacketTracer8.ciscoPacketTracer8
# hoffice
]

Some files were not shown because too many files have changed in this diff Show more