This commit is contained in:
Lucy Hochkamp 2024-06-18 18:08:57 +02:00
parent e0a8e0ceb2
commit 4aca99be34
No known key found for this signature in database
7 changed files with 333 additions and 62 deletions

View file

@ -8,7 +8,7 @@
nix.settings.experimental-features = [ "nix-command" "flakes" ];
security.pam.enableSudoTouchIdAuth = true;
programs.zsh.shellInit = ''
eval $(/opt/homebrew/bin/brew shellenv)'
eval "$(/opt/homebrew/bin/brew shellenv)"
'';
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ];
#nix.settings.auto-optimise-store = true;

227
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1716561646,
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=",
"lastModified": 1718371084,
"narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=",
"owner": "ryantm",
"repo": "agenix",
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9",
"rev": "3a56735779db467538fb2e577eda28a9daacaca6",
"type": "github"
},
"original": {
@ -40,6 +40,27 @@
"type": "github"
}
},
"crane": {
"inputs": {
"nixpkgs": [
"helix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709610799,
"narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=",
"owner": "ipetkov",
"repo": "crane",
"rev": "81c393c776d5379c030607866afef6406ca1be57",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -69,11 +90,11 @@
]
},
"locked": {
"lastModified": 1716511055,
"narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=",
"lastModified": 1718662658,
"narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "0bea8222f6e83247dd13b055d83e64bce02ee532",
"rev": "29b3096a6e283d7e6779187244cb2a3942239fdf",
"type": "github"
},
"original": {
@ -139,11 +160,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github"
},
"original": {
@ -156,6 +177,24 @@
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
@ -170,6 +209,27 @@
"type": "github"
}
},
"helix": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1718700216,
"narHash": "sha256-7Edn+2OThc1FdAFE59C999ET7xbH8zxw3KZVZz9qv3g=",
"owner": "helix-editor",
"repo": "helix",
"rev": "d70f58da10194131bacf596b09b7a057bf7e9425",
"type": "github"
},
"original": {
"owner": "helix-editor",
"repo": "helix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -198,27 +258,27 @@
]
},
"locked": {
"lastModified": 1716729592,
"narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=",
"lastModified": 1718530513,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2c78a57c544dd19b07442350727ced097e1aa6e6",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"imab": {
"inputs": {
"flake-utils": "flake-utils",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1716678964,
@ -236,11 +296,11 @@
},
"impermanence": {
"locked": {
"lastModified": 1708968331,
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
"lastModified": 1717932370,
"narHash": "sha256-7C5lCpiWiyPoIACOcu2mukn/1JRtz6HC/1aEMhUdcw0=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
"rev": "27979f1c3a0d3b9617a3563e2839114ba7d48d3f",
"type": "github"
},
"original": {
@ -295,11 +355,11 @@
]
},
"locked": {
"lastModified": 1716896735,
"narHash": "sha256-id351iMgA7aOla2BD6C/BTXMJTGigRQA64kCt8vM+cs=",
"lastModified": 1718200260,
"narHash": "sha256-YcifM/i8wMzZHjyY9FNoruDb5Arm6Xw4RKfdvZBLdQU=",
"owner": "nix-community",
"repo": "nixd",
"rev": "fe202307eaf7e89c4366ed927af761482a6065c8",
"rev": "6811dcf03ac055752a3f28cbabf90bd0b0cee417",
"type": "github"
},
"original": {
@ -310,11 +370,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1716881121,
"narHash": "sha256-oTf3enbe/lbiNzsyZ8ria+422hx4e/FB3xQcY2LPnJw=",
"lastModified": 1718548414,
"narHash": "sha256-1obyIuQPR/Kq1j5/i/5EuAfQrDwjYnjCDG8iLtXmBhQ=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "806e9d4a933dd1e75592e88894d4bd2f296f5bbf",
"rev": "cde8f7e11f036160b0fd6a9e07dc4c8e4061cf06",
"type": "github"
},
"original": {
@ -326,32 +386,32 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1706487304,
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
"owner": "NixOS",
"lastModified": 1709479366,
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-darwin": {
"locked": {
"lastModified": 1716831864,
"narHash": "sha256-ixOy0p7GjOBTMj/VHjI/k/8M9PQ2omZebG6ohhFix/Y=",
"lastModified": 1718529426,
"narHash": "sha256-cPj5XeZm0rS0elg6HcLPNKXonAydlejJt20LIHZt6kk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7815f2e44dd47202904b56600fcdab2eb9a2065",
"rev": "fed2354854f6da852a12e8e59e4414de794771f9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-23.11-darwin",
"ref": "nixpkgs-24.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
@ -376,11 +436,11 @@
},
"nixpkgs-master": {
"locked": {
"lastModified": 1716908784,
"narHash": "sha256-O9KWAhNy9VeOwkNQ7o0aGgGGxw5i2hiTpJJ6evu7vK8=",
"lastModified": 1718726077,
"narHash": "sha256-bJCzkCH+lgiytYucx3pmpuN7zwKE9ldl4929WwK1Dak=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "683ee2df30bd7c293cc9451a004b12e22b447e10",
"rev": "6d8d21411efd864784b575ea0798d4a8c0863a0b",
"type": "github"
},
"original": {
@ -392,16 +452,32 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1716633019,
"narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=",
"lastModified": 1706487304,
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e",
"rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1718437845,
"narHash": "sha256-ZT7Oc1g4I4pHVGGjQFnewFVDRLH5cIZhEzODLz9YXeY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "752c634c09ceb50c45e751f8791cb45cb3d46c9e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
@ -425,11 +501,11 @@
"noice-nvim": {
"flake": false,
"locked": {
"lastModified": 1716502618,
"narHash": "sha256-GrgFjVDIQcCfg5qyO6FnhlGUCrz6rwAFh81yZXUJra4=",
"lastModified": 1718648690,
"narHash": "sha256-eMcxoO6+bi423zJy90zdVAJt44LnV4jaU3U46r2vBGQ=",
"owner": "folke",
"repo": "noice.nvim",
"rev": "f119045f38792ad5311e5f9be7a879e4c1a95fe0",
"rev": "7ee3649b9b5f4df5b44ae63ed85b2c9fc834a124",
"type": "github"
},
"original": {
@ -472,7 +548,7 @@
},
"pnpm2nix": {
"inputs": {
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"lolpizza",
"nixpkgs"
@ -497,6 +573,7 @@
"agenix": "agenix",
"agkozak-zsh-prompt": "agkozak-zsh-prompt",
"darwin": "darwin_2",
"helix": "helix",
"home-manager": "home-manager_2",
"imab": "imab",
"impermanence": "impermanence",
@ -504,7 +581,7 @@
"miro": "miro",
"nixd": "nixd",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-darwin": "nixpkgs-darwin",
"nixpkgs-master": "nixpkgs-master",
"nnn-nvim": "nnn-nvim",
@ -524,8 +601,33 @@
},
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs"
"flake-utils": [
"helix",
"flake-utils"
],
"nixpkgs": [
"helix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709604635,
"narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1709863839,
@ -544,11 +646,11 @@
"spoons": {
"flake": false,
"locked": {
"lastModified": 1689613198,
"narHash": "sha256-L9uaTX3xKZgEoWKUhzJk2pn9wJh764KkxDtJDmv/yeY=",
"lastModified": 1717293677,
"narHash": "sha256-UYijuHkFy2o1zv5pb6+hO/X5WnW6u7j5oxZQ75ryk1k=",
"owner": "Hammerspoon",
"repo": "Spoons",
"rev": "5de05501a0bf8a691756e10469c190dce4f7c34e",
"rev": "70341ddc6ffeebc74f8264d9b2c52da0ee29060b",
"type": "github"
},
"original": {
@ -632,9 +734,24 @@
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_5"
"systems": "systems_6"
},
"locked": {
"lastModified": 1710146030,
@ -689,11 +806,11 @@
"xonsh-fish-completer": {
"flake": false,
"locked": {
"lastModified": 1714421521,
"narHash": "sha256-blI3XPu7QkFNhxSNoHk+/TAS2rSmawt15AKrb3oA+BQ=",
"lastModified": 1718649913,
"narHash": "sha256-WmxOQ7F8avd/FWiezK54e2vBvvAolmDy51KwLA6FXkU=",
"owner": "xonsh",
"repo": "xontrib-fish-completer",
"rev": "2a7ceebc3efdd13ab5d67e749bb1d8c1913acc73",
"rev": "c345f0bf8c6aa8b717ac645c38050ae1a1902e0e",
"type": "github"
},
"original": {

View file

@ -5,12 +5,12 @@
utils.url = "github:numtide/flake-utils";
## nixos/nix-darwin dependencies
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-23.11-darwin";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
agenix.url = "github:ryantm/agenix/main";
agenix.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.url = "github:nix-community/home-manager/release-24.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
impermanence.url = "github:nix-community/impermanence";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
@ -26,6 +26,7 @@
x.inputs.nixpkgs.follows = "nixpkgs";
imab.url = "github:ulyssa/iamb";
imab.inputs.nixpkgs.follows = "nixpkgs";
helix.url = "github:helix-editor/helix";
## editor stuff
nixd.url = "github:nix-community/nixd";

View file

@ -0,0 +1,46 @@
{ pkgs, config, lib, inputs, ... }:
let
cfg = config.ragon.helix;
in
{
options.ragon.helix.enable = lib.mkOption { default = false; };
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
nixpkgs-fmt
## ts
typescript
dprint
nodePackages_latest.typescript-language-server
nodePackages_latest.vscode-langservers-extracted
## python
ruff-lsp
nodePackages_latest.pyright
];
programs.helix = {
package = inputs.helix.packages.${pkgs.system}.default;
enable = true;
defaultEditor = true;
settings = {
theme = "gruvbox";
editor = {
line-number = "relative";
lsp.display-messages = true;
};
};
languages = {
language = lib.flatten [
(map
(x: {
name = x;
language-servers = [ "typescript-language-server" "eslint" ];
formatter = { command = "dprint"; args = [ "fmt" "--stdin" x ]; };
}) [ "typescript" "javascript" "jsx" "tsx" ])
{
name = "nix";
formatter = { command = "nixpkgs-fmt"; };
}
];
};
};
};
}

View file

@ -0,0 +1,88 @@
{ pkgs, config, lib, inputs, ... }:
let
cfg = config.ragon.nushell;
aliasesJson = pkgs.writeText "shell-aliases.json" (builtins.toJSON config.home.shellAliases);
in
{
options.ragon.nushell.enable = lib.mkOption { default = false; };
config = lib.mkIf cfg.enable {
programs.direnv = {
enable = true;
enableNushellIntegration = true;
};
programs.nushell = {
enable = true;
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell ...$spans | from json
}
$env.config = {
edit_mode: vi
show_banner: false,
completions: {
case_sensitive: false # case-sensitive completions
quick: true # set to false to prevent auto-selecting completions
partial: true # set to false to prevent partial filling of the prompt
algorithm: "fuzzy" # prefix or fuzzy
external: {
# set to false to prevent nushell looking into $env.PATH to find more suggestions
enable: true
# set to lower can improve completion performance at the cost of omitting some options
max_results: 100
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.NIX_REMOTE = "daemon"
$env.NIX_USER_PROFILE_DIR = $"/nix/var/nix/profiles/per-user/($env.USER)"
$env.NIX_PROFILES = $"/nix/var/nix/profiles/default:($env.HOME)/.nix-profile"
$env.NIX_SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt"
$env.NIX_PATH = "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels"
$env.PATH = ($env.PATH |
split row (char esep) |
append /usr/bin/env |
append $"($env.HOME)/.nix-profile/bin" |
append "/nix/var/nix/profiles/default/bin" |
append $"/etc/profiles/per-user/($env.USER)/bin" |
append "/run/current-system/sw/bin" |
append "/opt/homebrew/bin" |
append $"($env.HOME)/.cargo/bin" |
append $"($env.HOME)/.local/bin"
)
alias no = open
alias open = ^open
alias l = ls -al
alias ll = ls -l
alias ga = git add
alias gaa = git add -A
alias gd = git diff
alias gc = git commit
alias gp = git push
alias gpl = git pull
'';
shellAliases = {
vi = "hx";
vim = "hx";
nano = "hx";
};
};
programs.carapace.enable = true;
programs.carapace.enableNushellIntegration = true;
programs.starship = { enable = true;
settings = {
add_newline = false;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
programs.vscode.userSettings."terminal.integrated.profiles.osx" = {
nushell = {
path = "${pkgs.nushell}/bin/nushell";
};
};
programs.vscode.userSettings."terminal.integrated.defaultProfile.osx" = "nushell";
};
}

View file

@ -0,0 +1,12 @@
{ pkgs, config, lib, inputs, ... }:
let
cfg = config.ragon.zellij;
in
{
options.ragon.zellij.enable = lib.mkOption { default = false; };
config = lib.mkIf cfg.enable {
programs.zellij = {
enable = true;
};
};
}

View file

@ -74,6 +74,8 @@ with lib.my;
# "Tailscale" = 1475387142;
#};
};
nix.configureBuildUsers = true;
ids.uids.nixbld = lib.mkForce 400;
environment.pathsToLink = [ "/share/fish" ];
@ -139,6 +141,9 @@ with lib.my;
../../hm-modules/tmux
../../hm-modules/vscode
../../hm-modules/xonsh
../../hm-modules/helix
../../hm-modules/zellij
../../hm-modules/nushell
../../hm-modules/cli.nix
../../hm-modules/files.nix
];
@ -156,7 +161,9 @@ with lib.my;
home.file.".hammerspoon/Spoons/MiroWindowsManager.spoon".source = "${inputs.miro}/MiroWindowsManager.spoon";
ragon.vscode.enable = true;
ragon.xonsh.enable = true;
ragon.helix.enable = true;
ragon.nushell.enable = true;
ragon.zellij.enable = true;
programs.home-manager.enable = true;
home.stateVersion = "23.11";
@ -166,8 +173,8 @@ with lib.my;
# vv = lib.mkForce "emacsclient -c";
#};
home.sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
# EDITOR = "nvim";
# VISUAL = "nvim";
COLORTERM = "truecolor"; # emacs tty fix
};
home.packages = with pkgs; [