mirror of
https://github.com/smg1024/nix-darwin.git
synced 2026-05-22 20:32:59 +09:00
feat: add python 3.13 as mise global
format with alejandra
This commit is contained in:
parent
4cf65ab631
commit
fed3a5226a
27 changed files with 101 additions and 116 deletions
91
flake.nix
91
flake.nix
|
|
@ -49,54 +49,53 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs@{
|
||||
self,
|
||||
nixpkgs,
|
||||
darwin,
|
||||
home-manager,
|
||||
nvf,
|
||||
sops-nix,
|
||||
nix-homebrew,
|
||||
homebrew-core,
|
||||
homebrew-cask,
|
||||
...
|
||||
}:
|
||||
let
|
||||
system = "aarch64-darwin";
|
||||
username = "poby";
|
||||
useremail = "smg981024@gmail.com";
|
||||
hostname = "fenrir"; # TODO break down to multiple hosts
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
darwin,
|
||||
home-manager,
|
||||
nvf,
|
||||
sops-nix,
|
||||
nix-homebrew,
|
||||
homebrew-core,
|
||||
homebrew-cask,
|
||||
...
|
||||
}: let
|
||||
system = "aarch64-darwin";
|
||||
username = "poby";
|
||||
useremail = "smg981024@gmail.com";
|
||||
hostname = "fenrir"; # TODO break down to multiple hosts
|
||||
|
||||
specialArgs = inputs // {
|
||||
specialArgs =
|
||||
inputs
|
||||
// {
|
||||
inherit username useremail hostname;
|
||||
};
|
||||
in
|
||||
{
|
||||
darwinConfigurations."${hostname}" = darwin.lib.darwinSystem {
|
||||
inherit system specialArgs;
|
||||
modules = [
|
||||
./modules/nix-core.nix
|
||||
./modules/system.nix
|
||||
./modules/apps.nix
|
||||
./modules/host-users.nix
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = specialArgs;
|
||||
sharedModules = [
|
||||
nvf.homeManagerModules.nvf
|
||||
sops-nix.homeManagerModules.sops
|
||||
];
|
||||
users.${username} = import ./home;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
|
||||
in {
|
||||
darwinConfigurations."${hostname}" = darwin.lib.darwinSystem {
|
||||
inherit system specialArgs;
|
||||
modules = [
|
||||
./modules/nix-core.nix
|
||||
./modules/system.nix
|
||||
./modules/apps.nix
|
||||
./modules/host-users.nix
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = specialArgs;
|
||||
sharedModules = [
|
||||
nvf.homeManagerModules.nvf
|
||||
sops-nix.homeManagerModules.sops
|
||||
];
|
||||
users.${username} = import ./home;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
accordion-padding = 10;
|
||||
default-root-container-layout = "tiles";
|
||||
default-root-container-orientation = "auto";
|
||||
on-focused-monitor-changed = [ "move-mouse monitor-lazy-center" ];
|
||||
on-focused-monitor-changed = ["move-mouse monitor-lazy-center"];
|
||||
automatically-unhide-macos-hidden-apps = false;
|
||||
# persistent-workspaces = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" ];
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
imports = [
|
||||
./fd.nix
|
||||
./fzf.nix
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
programs.fd = {
|
||||
enable = true;
|
||||
ignores = [ ".git/" ];
|
||||
ignores = [".git/"];
|
||||
hidden = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
tools = {
|
||||
node = "lts";
|
||||
uv = "latest";
|
||||
python = "3.13";
|
||||
};
|
||||
settings = {
|
||||
experimental = true;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
{ lib, ... }:
|
||||
[
|
||||
{lib, ...}: [
|
||||
# autocmds
|
||||
{
|
||||
enable = true;
|
||||
event = [ "BufReadPost" ];
|
||||
event = ["BufReadPost"];
|
||||
desc = "Return to last cursor position";
|
||||
group = "LastCursorGroup";
|
||||
callback = lib.generators.mkLuaInline ''
|
||||
|
|
@ -18,10 +17,10 @@
|
|||
}
|
||||
{
|
||||
enable = true;
|
||||
event = [ "TextYankPost" ];
|
||||
event = ["TextYankPost"];
|
||||
desc = "Highlight yanks on copy";
|
||||
group = "HighlightYank";
|
||||
pattern = [ "*" ];
|
||||
pattern = ["*"];
|
||||
callback = lib.generators.mkLuaInline ''
|
||||
function()
|
||||
vim.hl.on_yank({
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
# spellcheck
|
||||
enable = true;
|
||||
languages = [ "en" ];
|
||||
languages = ["en"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
options = import ./core/options.nix;
|
||||
autocmds = import ./core/autocmds.nix { inherit lib; };
|
||||
autocmds = import ./core/autocmds.nix {inherit lib;};
|
||||
augroups = import ./core/augroups.nix;
|
||||
keymaps = import ./core/keymaps.nix;
|
||||
fzf-lua = import ./plugins/fzf-lua.nix;
|
||||
|
|
@ -15,11 +14,10 @@ let
|
|||
terminal = import ./plugins/terminal.nix;
|
||||
theme = import ./appearance/theme.nix;
|
||||
lsp = import ./lsp/lsp.nix;
|
||||
treesitter = import ./lsp/treesitter.nix { inherit pkgs; };
|
||||
treesitter = import ./lsp/treesitter.nix {inherit pkgs;};
|
||||
autocomplete = import ./lsp/autocomplete.nix;
|
||||
languages = import ./lsp/languages;
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@
|
|||
enable = true;
|
||||
extraDiagnostics = {
|
||||
enable = true;
|
||||
types = [ "shellcheck" ];
|
||||
types = ["shellcheck"];
|
||||
};
|
||||
format = {
|
||||
enable = true;
|
||||
type = [ "shfmt" ];
|
||||
type = ["shfmt"];
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "bash-ls" ];
|
||||
servers = ["bash-ls"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@ let
|
|||
markdown = import ./markdown.nix;
|
||||
html = import ./html.nix;
|
||||
yaml = import ./yaml.nix;
|
||||
in
|
||||
{
|
||||
in {
|
||||
inherit
|
||||
nix
|
||||
python
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
enable = true;
|
||||
extraDiagnostics = {
|
||||
enable = true;
|
||||
types = [ "htmlhint" ];
|
||||
types = ["htmlhint"];
|
||||
};
|
||||
format = {
|
||||
enable = true;
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "superhtml" ];
|
||||
servers = ["superhtml"];
|
||||
};
|
||||
treesitter = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@
|
|||
enable = true;
|
||||
extraDiagnostics = {
|
||||
enable = true;
|
||||
types = [ "luacheck" ];
|
||||
types = ["luacheck"];
|
||||
};
|
||||
format = {
|
||||
enable = true;
|
||||
type = [ "stylua" ];
|
||||
type = ["stylua"];
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "lua-language-server" ];
|
||||
servers = ["lua-language-server"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
};
|
||||
extraDiagnostics = {
|
||||
enable = true;
|
||||
types = [ "markdownlint-cli2" ];
|
||||
types = ["markdownlint-cli2"];
|
||||
};
|
||||
format = {
|
||||
enable = true;
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "marksman" ];
|
||||
servers = ["marksman"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@
|
|||
};
|
||||
format = {
|
||||
enable = true;
|
||||
type = [ "alejandra" ];
|
||||
type = ["alejandra"];
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "nil" ];
|
||||
servers = ["nil"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
enable = true;
|
||||
format = {
|
||||
enable = true;
|
||||
type = [ "ruff" ];
|
||||
type = ["ruff"];
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "pyright" ];
|
||||
servers = ["pyright"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = [ "yaml-language-server" ];
|
||||
servers = ["yaml-language-server"];
|
||||
};
|
||||
treesitter.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
# treesitter
|
||||
enable = true;
|
||||
addDefaultGrammars = true;
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@
|
|||
# fzf-lua
|
||||
enable = true;
|
||||
profile = "default";
|
||||
setupOpts = { };
|
||||
setupOpts = {};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
{config, ...}: {
|
||||
sops = {
|
||||
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
||||
|
||||
defaultSopsFile = ../secrets/poby.yaml;
|
||||
|
||||
secrets = {
|
||||
"github_ssh_key" = { };
|
||||
"github_cli_token" = { };
|
||||
"github_ssh_key" = {};
|
||||
"github_cli_token" = {};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
{config, ...}: {
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
matchBlocks = {
|
||||
"*" = { };
|
||||
"*" = {};
|
||||
"github.com" = {
|
||||
host = "github.com";
|
||||
user = "git";
|
||||
identitiesOnly = true;
|
||||
identityFile = [ config.sops.secrets."github_ssh_key".path ];
|
||||
identityFile = [config.sops.secrets."github_ssh_key".path];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
{lib, ...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
@ -163,8 +162,8 @@
|
|||
"package-lock.json"
|
||||
"yarn.lock"
|
||||
];
|
||||
detect_folders = [ "node_modules" ];
|
||||
detect_extensions = [ ];
|
||||
detect_folders = ["node_modules"];
|
||||
detect_extensions = [];
|
||||
};
|
||||
|
||||
python = {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
options = [ "--cmd j" ];
|
||||
options = ["--cmd j"];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
{config, ...}: {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
|
|
@ -21,7 +20,7 @@
|
|||
shellAliases = {
|
||||
poby = "echo my name is poby";
|
||||
nixconfig = "cd ~/nix-darwin && vim flake.nix";
|
||||
just-darwin = "cd ~/nix-darwin && just darwin";
|
||||
just-darwin = "cd ~/nix-darwin && just darwin $(hostname)";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
homebrew-core,
|
||||
homebrew-cask,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
username,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
networking = {
|
||||
hostName = hostname;
|
||||
computerName = hostname;
|
||||
|
|
@ -15,5 +14,5 @@
|
|||
description = username;
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [ username ];
|
||||
nix.settings.trusted-users = [username];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
nix = {
|
||||
enable = true;
|
||||
package = pkgs.nix;
|
||||
|
|
@ -13,7 +12,7 @@
|
|||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = [ "https://nix-community.cachix.org" ];
|
||||
substituters = ["https://nix-community.cachix.org"];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
|
|
|
|||
|
|
@ -4,8 +4,7 @@
|
|||
username,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
time.timeZone = "Asia/Seoul";
|
||||
|
||||
system = {
|
||||
|
|
@ -19,14 +18,13 @@
|
|||
sudo -u ${username} /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
|
||||
'';
|
||||
|
||||
activationScripts.applications.text =
|
||||
let
|
||||
env = pkgs.buildEnv {
|
||||
name = "system-applications";
|
||||
paths = config.environment.systemPackages;
|
||||
pathsToLink = [ "/Applications" ];
|
||||
};
|
||||
in
|
||||
activationScripts.applications.text = let
|
||||
env = pkgs.buildEnv {
|
||||
name = "system-applications";
|
||||
paths = config.environment.systemPackages;
|
||||
pathsToLink = ["/Applications"];
|
||||
};
|
||||
in
|
||||
pkgs.lib.mkForce ''
|
||||
# Set up applications.
|
||||
echo "setting up /Applications..." >&2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue