1
0
Fork 0
mirror of https://github.com/ryanccn/flake.git synced 2025-12-06 08:10:43 +01:00

refactor: flake-parts

This commit is contained in:
Ryan Cao 2025-04-03 00:36:22 +08:00
parent 872c6be493
commit 42a1293f6d
Signed by: ryanccn
GPG key ID: F605AB4AF937D5D0
63 changed files with 1118 additions and 875 deletions

View file

@ -0,0 +1,44 @@
# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
{
inputs,
inputs',
...
}:
{
imports = [
inputs.home-manager.darwinModules.home-manager
./nix.nix
./packages.nix
./homebrew.nix
];
security.pam.services.sudo_local.touchIdAuth = true;
programs.bash.enable = true;
programs.zsh.enable = true;
programs.fish.enable = true;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit
inputs
inputs'
;
};
users.ryan = import "${inputs.self}/users/ryan";
};
users.users.ryan = {
home = "/Users/ryan";
};
system.stateVersion = 6;
}

View file

@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
{
environment.variables = {
HOMEBREW_NO_ANALYTICS = "1";
HOMEBREW_NO_INSECURE_REDIRECT = "1";
HOMEBREW_NO_EMOJI = "1";
};
homebrew = {
enable = true;
caskArgs = {
require_sha = true;
};
onActivation = {
autoUpdate = true;
cleanup = "uninstall";
upgrade = true;
};
brews = [
"gnupg"
"pandoc"
];
casks =
let
noQuarantine = name: {
inherit name;
args = {
no_quarantine = true;
};
};
in
[
"blackhole-16ch"
(noQuarantine "librewolf")
(noQuarantine "eloston-chromium")
];
};
}

50
systems/caladan/nix.nix Normal file
View file

@ -0,0 +1,50 @@
# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
{
pkgs,
...
}:
{
nix.package = pkgs.nixVersions.latest;
nix.registry = {
n.to = {
type = "indirect";
id = "nixpkgs";
};
};
nix.settings = {
experimental-features = [
"nix-command"
"flakes"
];
extra-platforms = [
"aarch64-darwin"
"x86_64-darwin"
];
# Included in default config
# build-users-group = "nixbld";
trusted-users = [ "ryan" ];
sandbox = true;
use-xdg-base-directories = true;
extra-substituters = [ ];
extra-trusted-public-keys = [ ];
};
environment.profiles = [
"\${XDG_STATE_HOME}/nix/profile"
"$HOME/.local/state/nix/profile"
];
nixpkgs = {
config.allowUnfree = true;
hostPlatform = "aarch64-darwin";
};
}

View file

@ -0,0 +1,73 @@
# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
{
lib,
pkgs,
inputs',
...
}:
let
defaultPackages = lib.mapAttrs (_: value: value.packages.default) inputs';
in
{
environment.systemPackages = with pkgs; [
nixfmt-rfc-style
alejandra
nixpkgs-fmt
statix
deadnix
nix-your-shell
nix-output-monitor
nix-melt
fnm
deno
bun
uv
ruff
yt-dlp
xkcdpass
# nodePackages.typescript-language-server
dprint
# google-cloud-sdk
# railway
# cloudflared
# flyctl
# btop
doggo
doppler
dust
fd
ffmpeg
# gum
hyperfine
jq
just
nerdfix
reuse
ripgrep
tokei
vhs
vivid
watchexec
xh
typst
exiftool
# packwiz
# spicetify-cli
defaultPackages.nrr
defaultPackages.am
defaultPackages.nyoom
defaultPackages.morlana
defaultPackages.spdx-gen
];
}