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:
parent
872c6be493
commit
42a1293f6d
63 changed files with 1118 additions and 875 deletions
44
systems/caladan/default.nix
Normal file
44
systems/caladan/default.nix
Normal 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;
|
||||
}
|
||||
45
systems/caladan/homebrew.nix
Normal file
45
systems/caladan/homebrew.nix
Normal 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
50
systems/caladan/nix.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
73
systems/caladan/packages.nix
Normal file
73
systems/caladan/packages.nix
Normal 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
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue