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
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:
commit
70284509f3
144 changed files with 7061 additions and 0 deletions
23
hosts/machine/kanade/configuration.nix
Normal file
23
hosts/machine/kanade/configuration.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
overlays ? [ ],
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./modules/nix.nix
|
||||
./modules/user.nix
|
||||
./modules/mac
|
||||
./modules/packages.nix
|
||||
./modules/homebrew/default.nix
|
||||
"${inputs.self}/modules/home/discord/mac.nix"
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
hostPlatform = "aarch64-darwin";
|
||||
overlays = overlays;
|
||||
};
|
||||
|
||||
system.stateVersion = 5;
|
||||
}
|
||||
36
hosts/machine/kanade/default.nix
Normal file
36
hosts/machine/kanade/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
inputs,
|
||||
overlays,
|
||||
}:
|
||||
let
|
||||
inherit (inputs) darwin home-manager;
|
||||
in
|
||||
darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
./configuration.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
inputs.nix-homebrew.darwinModules.nix-homebrew
|
||||
{
|
||||
nix-homebrew = {
|
||||
enable = true;
|
||||
user = "imnyang";
|
||||
mutableTaps = true;
|
||||
# nix-darwin's Homebrew module uses /opt/homebrew/bin/brew directly.
|
||||
# The nix-homebrew integration calls `brew` before it is on PATH.
|
||||
enableFishIntegration = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
home-manager.users.imnyang = import ./home;
|
||||
}
|
||||
];
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit overlays;
|
||||
};
|
||||
}
|
||||
31
hosts/machine/kanade/home/config/git.nix
Normal file
31
hosts/machine/kanade/home/config/git.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
# 기본 사용자 설정
|
||||
# userName = "imnyang";
|
||||
# userEmail = "imnyang@pm.me";
|
||||
|
||||
settings = {
|
||||
user = {
|
||||
signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHP3Z+AYrRh9f8TYyqChKfeyNm3lOe0F75AwRHTTaxD";
|
||||
name = "imnyang";
|
||||
email = "imnyang@pm.me";
|
||||
};
|
||||
# gpg = {
|
||||
# format = "ssh";
|
||||
# "ssh".program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
|
||||
# };
|
||||
# commit.gpgsign = true;
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = false;
|
||||
includeIf."gitdir:~/workspaces/git/adofai.gg/" = {
|
||||
path = builtins.toFile "gitconfig-adofaigg" ''
|
||||
[user]
|
||||
email = imnyang@adofai.gg
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
64
hosts/machine/kanade/home/config/shell.nix
Normal file
64
hosts/machine/kanade/home/config/shell.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
|
||||
shellAliases = {
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../..";
|
||||
|
||||
ls = "eza --icons=always";
|
||||
ll = "eza --icons=always -l";
|
||||
la = "eza --icons=always -a";
|
||||
lla = "eza --icons=always -la";
|
||||
|
||||
# nix-darwin 관련
|
||||
rebuild = "sudo darwin-rebuild switch --flake .#kanade";
|
||||
update = "nix flake update";
|
||||
clean = "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
|
||||
|
||||
set -gx ANDROID_HOME "$HOME/Library/Android/sdk"
|
||||
if test -d "$ANDROID_HOME/ndk"
|
||||
set -l ndk_versions "$ANDROID_HOME"/ndk/*
|
||||
if test (count $ndk_versions) -gt 0
|
||||
set -gx NDK_HOME $ndk_versions[-1]
|
||||
end
|
||||
end
|
||||
|
||||
set -gx SSH_AUTH_SOCK /Users/imnyang/.ssh/proton-pass-agent.sock
|
||||
'';
|
||||
};
|
||||
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 = " ⚠️";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
hosts/machine/kanade/home/default.nix
Normal file
27
hosts/machine/kanade/home/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
xdg.enable = true;
|
||||
|
||||
home.stateVersion = "25.05";
|
||||
home.username = "imnyang";
|
||||
home.homeDirectory = "/Users/imnyang";
|
||||
home.packages = import ./packages.nix { inherit pkgs inputs; };
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
};
|
||||
|
||||
imports = [
|
||||
"${inputs.self}/modules/home/neovim.nix"
|
||||
"${inputs.self}/modules/home/ghostty.nix"
|
||||
"${inputs.self}/modules/home/zed.nix"
|
||||
./config/git.nix
|
||||
./config/shell.nix
|
||||
];
|
||||
}
|
||||
55
hosts/machine/kanade/home/packages.nix
Normal file
55
hosts/machine/kanade/home/packages.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
dr = import ../../../../modules/nixos/features/packages/dr.nix { inherit pkgs; };
|
||||
in
|
||||
with pkgs;
|
||||
[
|
||||
# Language runtimes and package managers
|
||||
nodejs
|
||||
pnpm
|
||||
yarn
|
||||
bun
|
||||
python3
|
||||
rustup
|
||||
go
|
||||
|
||||
# Editors and database tools
|
||||
neovide
|
||||
jetbrains.datagrip
|
||||
jetbrains.idea
|
||||
|
||||
# CLI utilities
|
||||
ripgrep
|
||||
fd
|
||||
bat
|
||||
fzf
|
||||
jq
|
||||
eza
|
||||
fastfetch
|
||||
btop
|
||||
|
||||
# Source control
|
||||
gh
|
||||
lazygit
|
||||
|
||||
# Browsers
|
||||
google-chrome
|
||||
|
||||
# Development applications
|
||||
postman
|
||||
scrcpy
|
||||
|
||||
# Virtualisation
|
||||
utm
|
||||
|
||||
# Media
|
||||
iina
|
||||
|
||||
# Gaming
|
||||
prismlauncher
|
||||
|
||||
# Nix workflows
|
||||
dr
|
||||
|
||||
inputs.muvel.packages.${pkgs.stdenv.hostPlatform.system}.muvel
|
||||
]
|
||||
8
hosts/machine/kanade/modules/homebrew/brews.nix
Normal file
8
hosts/machine/kanade/modules/homebrew/brews.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[
|
||||
# Apple and mobile development
|
||||
"cocoapods"
|
||||
"watchman"
|
||||
|
||||
# Media customisation
|
||||
"spicetify-cli"
|
||||
]
|
||||
46
hosts/machine/kanade/modules/homebrew/casks.nix
Normal file
46
hosts/machine/kanade/modules/homebrew/casks.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
[
|
||||
# Security and networking
|
||||
"1password"
|
||||
"cloudflare-warp"
|
||||
"protonvpn"
|
||||
"microsoft-edge@canary"
|
||||
|
||||
# Communication
|
||||
"discord"
|
||||
"discord@canary"
|
||||
"proton-mail"
|
||||
"signal"
|
||||
"zoom"
|
||||
|
||||
# Productivity and design
|
||||
"camo-studio"
|
||||
"proton-drive"
|
||||
"figma"
|
||||
"notion"
|
||||
|
||||
# Development
|
||||
"android-studio"
|
||||
"burp-suite"
|
||||
"docker-desktop"
|
||||
"unity-hub"
|
||||
"visual-studio-code@insiders"
|
||||
"zed"
|
||||
"codex"
|
||||
"codex-app"
|
||||
"codexbar"
|
||||
|
||||
# Media and audio
|
||||
"finetune"
|
||||
"spotify"
|
||||
|
||||
# Gaming and remote access
|
||||
"parsec"
|
||||
"steam"
|
||||
|
||||
# macOS utilities
|
||||
"alt-tab"
|
||||
"keka"
|
||||
"raycast"
|
||||
"thaw"
|
||||
"mole-app"
|
||||
]
|
||||
18
hosts/machine/kanade/modules/homebrew/default.nix
Normal file
18
hosts/machine/kanade/modules/homebrew/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
homebrew = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
cleanup = "zap";
|
||||
upgrade = true;
|
||||
};
|
||||
|
||||
brews = import ./brews.nix;
|
||||
casks = import ./casks.nix;
|
||||
};
|
||||
}
|
||||
34
hosts/machine/kanade/modules/mac/avatar.nix
Normal file
34
hosts/machine/kanade/modules/mac/avatar.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
avatar = pkgs.runCommand "kanade-avatar.jpg" { nativeBuildInputs = [ pkgs.imagemagick ]; } ''
|
||||
magick "${inputs.self}/assets/avatar.webp" -quality 92 "$out"
|
||||
'';
|
||||
in
|
||||
{
|
||||
system.activationScripts.postActivation.text = ''
|
||||
avatarPath="/Library/User Pictures/imnyang.jpg"
|
||||
importFile="$(/usr/bin/mktemp /tmp/imnyang-avatar.XXXXXX)"
|
||||
|
||||
/usr/bin/install -d -m 0755 "/Library/User Pictures"
|
||||
/usr/bin/install -m 0644 "${avatar}" "$avatarPath"
|
||||
|
||||
# Replace both account-picture representations. JPEGPhoto is embedded in
|
||||
# the directory record and is used by the login screen and System Settings.
|
||||
/usr/bin/dscl . -delete /Users/imnyang JPEGPhoto >/dev/null 2>&1 || true
|
||||
/usr/bin/dscl . -delete /Users/imnyang Picture >/dev/null 2>&1 || true
|
||||
/usr/bin/dscl . -create /Users/imnyang Picture "$avatarPath"
|
||||
|
||||
/usr/bin/printf '%s\n%s:%s' \
|
||||
'0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Users 2 dsAttrTypeStandard:RecordName externalbinary:dsAttrTypeStandard:JPEGPhoto' \
|
||||
'imnyang' \
|
||||
"$avatarPath" > "$importFile"
|
||||
/usr/bin/dsimport "$importFile" /Local/Default M
|
||||
/bin/rm -f "$importFile"
|
||||
|
||||
/usr/bin/dscacheutil -flushcache
|
||||
'';
|
||||
}
|
||||
10
hosts/machine/kanade/modules/mac/default.nix
Normal file
10
hosts/machine/kanade/modules/mac/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
imports = [
|
||||
./avatar.nix
|
||||
./dock.nix
|
||||
./keyboard.nix
|
||||
./preferences.nix
|
||||
./touch-id.nix
|
||||
./wallpaper.nix
|
||||
];
|
||||
}
|
||||
36
hosts/machine/kanade/modules/mac/dock.nix
Normal file
36
hosts/machine/kanade/modules/mac/dock.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
system.defaults.dock = {
|
||||
autohide = false;
|
||||
show-recents = true;
|
||||
|
||||
wvous-bl-corner = 1;
|
||||
wvous-br-corner = 1;
|
||||
wvous-tl-corner = 1;
|
||||
wvous-tr-corner = 1;
|
||||
|
||||
persistent-apps = [
|
||||
"/System/Applications/Apps.app"
|
||||
"/Applications/Microsoft Edge Canary.app"
|
||||
"/Applications/Discord.app"
|
||||
"/Applications/KakaoTalk.app"
|
||||
"/Applications/Signal.app"
|
||||
"/Applications/Proton Mail.app"
|
||||
# "/Applications/Proton Pass.app"
|
||||
# "/System/Applications/Mail.app"
|
||||
"/Applications/1Password.app"
|
||||
"/Applications/Figma.app"
|
||||
"/Applications/Notion.app"
|
||||
# "/Applications/Notion Calendar.app"
|
||||
"${pkgs.utm}/Applications/UTM.app"
|
||||
"/Applications/Spotify.app"
|
||||
"${pkgs.ghostty-bin}/Applications/Ghostty.app"
|
||||
"/Applications/Visual Studio Code - Insiders.app"
|
||||
"/Applications/Zed.app"
|
||||
"/System/Applications/System Settings.app"
|
||||
];
|
||||
mru-spaces = false;
|
||||
tilesize = 48;
|
||||
orientation = "bottom";
|
||||
};
|
||||
}
|
||||
14
hosts/machine/kanade/modules/mac/keyboard.nix
Normal file
14
hosts/machine/kanade/modules/mac/keyboard.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
system.keyboard.enableKeyMapping = true;
|
||||
|
||||
system.defaults.NSGlobalDomain = {
|
||||
ApplePressAndHoldEnabled = false;
|
||||
InitialKeyRepeat = 15;
|
||||
KeyRepeat = 2;
|
||||
NSAutomaticCapitalizationEnabled = false;
|
||||
NSAutomaticDashSubstitutionEnabled = false;
|
||||
NSAutomaticPeriodSubstitutionEnabled = false;
|
||||
NSAutomaticQuoteSubstitutionEnabled = false;
|
||||
NSAutomaticSpellingCorrectionEnabled = false;
|
||||
};
|
||||
}
|
||||
92
hosts/machine/kanade/modules/mac/preferences.nix
Normal file
92
hosts/machine/kanade/modules/mac/preferences.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# sudo_local is managed as a regular file by touch-id.nix because macOS 26
|
||||
# rejects nix-darwin's symlink-based /etc/pam.d management.
|
||||
security.pam.services.sudo_local.enable = false;
|
||||
|
||||
networking = {
|
||||
hostName = "kanade";
|
||||
computerName = "kanade";
|
||||
localHostName = "kanade";
|
||||
};
|
||||
|
||||
time.timeZone = "Asia/Seoul";
|
||||
|
||||
# Keep the terminal font declared in the Ghostty Home Manager module available
|
||||
# to native macOS applications as well.
|
||||
fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];
|
||||
|
||||
system.defaults = {
|
||||
NSGlobalDomain = {
|
||||
AppleICUForce24HourTime = true;
|
||||
AppleMeasurementUnits = "Centimeters";
|
||||
AppleTemperatureUnit = "Celsius";
|
||||
|
||||
AppleInterfaceStyleSwitchesAutomatically = false;
|
||||
AppleInterfaceStyle = null;
|
||||
|
||||
NSAutomaticCapitalizationEnabled = false;
|
||||
NSAutomaticDashSubstitutionEnabled = false;
|
||||
NSAutomaticPeriodSubstitutionEnabled = false;
|
||||
NSAutomaticQuoteSubstitutionEnabled = false;
|
||||
NSAutomaticSpellingCorrectionEnabled = false;
|
||||
|
||||
AppleShowAllExtensions = true;
|
||||
AppleShowAllFiles = true;
|
||||
NSNavPanelExpandedStateForSaveMode = true;
|
||||
NSNavPanelExpandedStateForSaveMode2 = true;
|
||||
"com.apple.sound.beep.feedback" = 0;
|
||||
};
|
||||
|
||||
SoftwareUpdate = {
|
||||
AutomaticallyInstallMacOSUpdates = false;
|
||||
};
|
||||
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
FXEnableExtensionChangeWarning = false;
|
||||
FXDefaultSearchScope = "SCcf";
|
||||
FXRemoveOldTrashItems = true;
|
||||
ShowPathbar = true;
|
||||
ShowStatusBar = true;
|
||||
# _FXShowPosixPathInTitle = true;
|
||||
};
|
||||
|
||||
menuExtraClock = {
|
||||
ShowAMPM = false;
|
||||
ShowDate = 1;
|
||||
ShowSeconds = false;
|
||||
Show24Hour = true;
|
||||
};
|
||||
|
||||
trackpad = {
|
||||
Clicking = true;
|
||||
TrackpadRightClick = true;
|
||||
TrackpadThreeFingerDrag = true;
|
||||
};
|
||||
|
||||
loginwindow.GuestEnabled = false;
|
||||
|
||||
CustomUserPreferences = {
|
||||
"com.apple.AdLib" = {
|
||||
allowApplePersonalizedAdvertising = false;
|
||||
};
|
||||
"com.apple.controlcenter" = {
|
||||
BatteryShowPercentage = true;
|
||||
};
|
||||
"com.apple.desktopservices" = {
|
||||
DSDontWriteNetworkStores = true;
|
||||
DSDontWriteUSBStores = true;
|
||||
};
|
||||
"com.apple.finder"._FXSortFoldersFirst = true;
|
||||
"com.apple.screensaver" = {
|
||||
askForPassword = 1;
|
||||
askForPasswordDelay = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
system.activationScripts.postActivation.text = ''
|
||||
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
|
||||
'';
|
||||
}
|
||||
12
hosts/machine/kanade/modules/mac/touch-id.nix
Normal file
12
hosts/machine/kanade/modules/mac/touch-id.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
sudoLocal = pkgs.writeText "sudo_local" ''
|
||||
# Managed by nix-darwin: use Touch ID for sudo with password fallback.
|
||||
auth sufficient pam_tid.so
|
||||
'';
|
||||
in
|
||||
{
|
||||
system.activationScripts.postActivation.text = ''
|
||||
/usr/bin/install -m 0444 "${sudoLocal}" /etc/pam.d/sudo_local
|
||||
'';
|
||||
}
|
||||
42
hosts/machine/kanade/modules/mac/wallpaper.nix
Normal file
42
hosts/machine/kanade/modules/mac/wallpaper.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
wallpaper = "${inputs.self}/assets/wallpaper/wallpaper1.jpg";
|
||||
setWallpaperScript = pkgs.writeShellScriptBin "set-wallpaper-script" ''
|
||||
set -eu
|
||||
|
||||
# System Events runs in the logged-in Aqua session and updates every Space.
|
||||
# Retry because launch agents can start before the desktop is fully ready.
|
||||
for attempt in {1..12}; do
|
||||
if /usr/bin/osascript <<'APPLESCRIPT'
|
||||
tell application "System Events"
|
||||
tell every desktop
|
||||
set picture to "${wallpaper}"
|
||||
end tell
|
||||
end tell
|
||||
APPLESCRIPT
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
/bin/sleep 5
|
||||
done
|
||||
|
||||
exit 1
|
||||
'';
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ setWallpaperScript ];
|
||||
|
||||
launchd.user.agents.set-wallpaper = {
|
||||
command = "${setWallpaperScript}/bin/set-wallpaper-script";
|
||||
serviceConfig = {
|
||||
RunAtLoad = true;
|
||||
ProcessType = "Interactive";
|
||||
LimitLoadToSessionType = "Aqua";
|
||||
};
|
||||
};
|
||||
}
|
||||
37
hosts/machine/kanade/modules/nix.nix
Normal file
37
hosts/machine/kanade/modules/nix.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ ... }:
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
sandbox = "relaxed";
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
# Optimising during every build can race on Darwin. Run it separately instead.
|
||||
auto-optimise-store = false;
|
||||
trusted-users = [
|
||||
"imnyang"
|
||||
];
|
||||
substituters = [
|
||||
"https://cache.mizuki.guru"
|
||||
"https://nix.mizuki.my/public"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.mizuki.guru-1:EbUC9b0ryD7BJKqfT8fl4GoS2ojLV+hI9fW1al5Whp0="
|
||||
"public:SnHrtrxbCPcZujbJdgsKFeObTfRKQl5KhrI+LljtZUE="
|
||||
];
|
||||
};
|
||||
|
||||
nix.optimise.automatic = true;
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
interval = {
|
||||
Weekday = 0;
|
||||
Hour = 3;
|
||||
Minute = 15;
|
||||
};
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
}
|
||||
13
hosts/machine/kanade/modules/packages.nix
Normal file
13
hosts/machine/kanade/modules/packages.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Recovery and bootstrap tools
|
||||
curl
|
||||
wget
|
||||
vim
|
||||
|
||||
# Nix tooling
|
||||
nixd
|
||||
nil
|
||||
];
|
||||
}
|
||||
15
hosts/machine/kanade/modules/user.nix
Normal file
15
hosts/machine/kanade/modules/user.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
system.primaryUser = "imnyang";
|
||||
|
||||
users.users.imnyang = {
|
||||
name = "imnyang";
|
||||
home = "/Users/imnyang";
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
environment.shells = [ pkgs.fish ];
|
||||
|
||||
programs.fish.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue