Compare commits
5 Commits
main
...
nix-darwin
Author | SHA1 | Date |
---|---|---|
Abhinav Sarkar | 0d4776105a | |
Abhinav Sarkar | 006d6bdd91 | |
Abhinav Sarkar | 3456978b5f | |
Abhinav Sarkar | 3f4264f030 | |
Abhinav Sarkar | 79c333d7b2 |
|
@ -4,7 +4,7 @@ This is the [Nix] and [Home Manager] configuration for managing my MacBook.
|
|||
|
||||
## Usage
|
||||
|
||||
First install [Nix] and [Homebrew]. Then, in the repo directory, run `nix develop` to get into the Nix shell.
|
||||
First install [Nix]. Then, in the repo directory, run `nix develop` to get into the Nix shell.
|
||||
|
||||
To set up the MacBook as per the config, run:
|
||||
|
||||
|
@ -31,6 +31,5 @@ just <repo_dir>/switch # or update or clean
|
|||
```
|
||||
|
||||
[Nix]: https://nixos.org
|
||||
[Homebrew]: https://brew.sh
|
||||
[Home Manager]: https://github.com/nix-community/home-manager
|
||||
[`just`]: https://just.systems
|
||||
|
|
|
@ -1 +1,46 @@
|
|||
{ pkgs, inputs, ... }: { imports = [ ./nix.nix ./system.nix ]; }
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [./nix.nix];
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
system = {
|
||||
defaults = {
|
||||
dock = {
|
||||
appswitcher-all-displays = false;
|
||||
autohide = true;
|
||||
magnification = true;
|
||||
mru-spaces = false;
|
||||
orientation = "bottom";
|
||||
wvous-bl-corner = 13;
|
||||
wvous-br-corner = 14;
|
||||
wvous-tl-corner = 2;
|
||||
wvous-tr-corner = 3;
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
FXPreferredViewStyle = "Nlsv";
|
||||
};
|
||||
NSGlobalDomain = {
|
||||
AppleEnableMouseSwipeNavigateWithScrolls = true;
|
||||
AppleEnableSwipeNavigateWithScrolls = true;
|
||||
AppleICUForce24HourTime = true;
|
||||
AppleInterfaceStyle = "Dark";
|
||||
AppleInterfaceStyleSwitchesAutomatically = false;
|
||||
NSAutomaticCapitalizationEnabled = false;
|
||||
NSAutomaticDashSubstitutionEnabled = true;
|
||||
NSAutomaticSpellingCorrectionEnabled = false;
|
||||
NSAutomaticPeriodSubstitutionEnabled = false;
|
||||
NSAutomaticQuoteSubstitutionEnabled = true;
|
||||
_HIHideMenuBar = true;
|
||||
};
|
||||
trackpad = {
|
||||
Clicking = true;
|
||||
TrackpadRightClick = true;
|
||||
};
|
||||
};
|
||||
keyboard = {
|
||||
enableKeyMapping = true;
|
||||
remapCapsLockToControl = true;
|
||||
};
|
||||
stateVersion = 4;
|
||||
};
|
||||
}
|
||||
|
|
24
flake.lock
24
flake.lock
|
@ -35,11 +35,11 @@
|
|||
"fish-plugin-fzf": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1712464035,
|
||||
"narHash": "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM=",
|
||||
"lastModified": 1704317914,
|
||||
"narHash": "sha256-5cO5Ey7z7KMF3vqQhIbYip5JR6YiS2I9VPRd6BOmeC8=",
|
||||
"owner": "PatrickF1",
|
||||
"repo": "fzf.fish",
|
||||
"rev": "8920367cf85eee5218cc25a11e209d46e2591e7a",
|
||||
"rev": "e5d54b93cd3e096ad6c2a419df33c4f50451c900",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -71,11 +71,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715486357,
|
||||
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
|
||||
"lastModified": 1706473109,
|
||||
"narHash": "sha256-iyuAvpKTsq2u23Cr07RcV5XlfKExrG8gRpF75hf1uVc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
|
||||
"rev": "d634c3abafa454551f2083b054cd95c3f287be61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -108,11 +108,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715653378,
|
||||
"narHash": "sha256-6kbg/PI3+SBP17f4T0js3CBsMLVtlD0JqJhDKgzk1mQ=",
|
||||
"lastModified": 1706581965,
|
||||
"narHash": "sha256-1H7dRdK9LJ7+2X1XQtbwXr+QMqtVVo/ZF0/LIvkjdK8=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "de8b0d60d6fd34f35abffc46adc94ebaa6996ce2",
|
||||
"rev": "91b9daf672c957ef95a05491a75f62e6a01d5aaf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -123,11 +123,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1715653339,
|
||||
"narHash": "sha256-7lR9tpVXviSccl07GXI0+ve/natd24HAkuy1sQp0OlI=",
|
||||
"lastModified": 1706589919,
|
||||
"narHash": "sha256-pNHnDITxSI3a17GOF1RUF3jBO1OiNYTRH2yV/cJG4m4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "abd6d48f8c77bea7dc51beb2adfa6ed3950d2585",
|
||||
"rev": "222c1940fafeda4dea161858ffe6ebfc853d3db5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -40,7 +40,8 @@
|
|||
inherit system;
|
||||
config = { allowUnfree = true; };
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
darwinConfigurations."Abhinavs-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs; };
|
||||
|
@ -51,7 +52,6 @@
|
|||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.abhinav = import ./home.nix;
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
}
|
||||
|
|
1
home.nix
1
home.nix
|
@ -24,6 +24,7 @@ in {
|
|||
|
||||
sessionVariables = {
|
||||
EDITOR = "micro";
|
||||
NIX_PATH = "/nix/var/nix/profiles/per-user/${username}/channels";
|
||||
};
|
||||
|
||||
file."Applications/Home Manager Apps".source = let
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
};
|
||||
casks = [
|
||||
"amethyst"
|
||||
"appcleaner"
|
||||
"calibre"
|
||||
"dropbox"
|
||||
"fanny"
|
||||
|
@ -20,11 +19,7 @@
|
|||
"garmin-express"
|
||||
"google-chrome"
|
||||
"homebrew/cask/handbrake"
|
||||
"lastfm"
|
||||
"monodraw"
|
||||
"obsidian"
|
||||
"spotify"
|
||||
"steam"
|
||||
"telegram"
|
||||
"utm"
|
||||
"vlc"
|
||||
|
|
20
justfile
20
justfile
|
@ -28,9 +28,9 @@ _switch: _build
|
|||
./result/sw/bin/darwin-rebuild -v switch --flake "{{ root_dir }}"
|
||||
|
||||
# switch to latest home-manager generation
|
||||
switch: (_run "_switch") && _report-changes
|
||||
switch: (_run "_switch")
|
||||
|
||||
_update: && _switch _brew-update _report-changes
|
||||
_update: && _switch _brew-update
|
||||
nix flake update --commit-lock-file "{{ root_dir }}"
|
||||
$NIXPKGS_PATH/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh > \
|
||||
{{ root_dir }}/programs/vscode/extensions.nix
|
||||
|
@ -40,19 +40,11 @@ _brew-update:
|
|||
brew upgrade
|
||||
mas upgrade
|
||||
|
||||
_report-changes:
|
||||
#!/bin/bash
|
||||
if [ $(ls -d1v /nix/var/nix/profiles/system-*-link 2>/dev/null | wc -l) -lt 2 ]; then
|
||||
echo "Skipping changes report..."
|
||||
else
|
||||
nvd diff $(/bin/ls -d1v /nix/var/nix/profiles/system-*-link | tail -2)
|
||||
fi
|
||||
|
||||
# update packages and switch
|
||||
update: (_run "_update")
|
||||
|
||||
# clean up nix garbage
|
||||
clean days="7":
|
||||
home-manager expire-generations "-{{days}} days"
|
||||
sudo nix-collect-garbage -d --delete-older-than {{days}}d
|
||||
brew cleanup --prune {{days}}
|
||||
clean:
|
||||
home-manager expire-generations "-7 days"
|
||||
sudo nix-collect-garbage -d --delete-older-than 7d
|
||||
brew cleanup --prune 7
|
||||
|
|
7
nix.nix
7
nix.nix
|
@ -1,9 +1,10 @@
|
|||
{ config, pkgs, inputs, ... }: {
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{
|
||||
services.nix-daemon.enable = true;
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||
nixPath = [{ nixpkgs = inputs.nixpkgs.outPath; }];
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
|
@ -25,7 +26,7 @@
|
|||
max-jobs = 6;
|
||||
min-free = 128000000;
|
||||
warn-dirty = false;
|
||||
trusted-users = [ "@admin" ];
|
||||
trusted-users = ["@admin"];
|
||||
};
|
||||
};
|
||||
nixpkgs = {
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
From 81bc5f7e4f9d0386d2be6773336b43c54098854e Mon Sep 17 00:00:00 2001
|
||||
From: loli <loli@headpats.uk>
|
||||
Date: Mon, 31 Oct 2022 01:51:36 +0100
|
||||
Subject: [PATCH] cloudflare-dyndns: use toPythonApplication fixes #198736
|
||||
|
||||
---
|
||||
pkgs/applications/networking/cloudflare-dyndns/default.nix | 4 ++--
|
||||
pkgs/top-level/all-packages.nix | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pkgs/applications/networking/cloudflare-dyndns/default.nix b/pkgs/applications/networking/cloudflare-dyndns/default.nix
|
||||
index 9b5abcbcbf397..b0cbab4adeeff 100644
|
||||
--- a/pkgs/applications/networking/cloudflare-dyndns/default.nix
|
||||
+++ b/pkgs/applications/networking/cloudflare-dyndns/default.nix
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib
|
||||
-, buildPythonApplication
|
||||
+, buildPythonPackage
|
||||
, attrs
|
||||
, click
|
||||
, cloudflare
|
||||
@@ -11,7 +11,7 @@
|
||||
, requests
|
||||
}:
|
||||
|
||||
-buildPythonApplication rec {
|
||||
+buildPythonPackage rec {
|
||||
pname = "cloudflare-dyndns";
|
||||
version = "4.1";
|
||||
format = "pyproject";
|
||||
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
|
||||
index dc860b31194c6..0d60542528aa8 100644
|
||||
--- a/pkgs/top-level/all-packages.nix
|
||||
+++ b/pkgs/top-level/all-packages.nix
|
||||
@@ -3429,7 +3429,7 @@ with pkgs;
|
||||
|
||||
cloudflared = callPackage ../applications/networking/cloudflared { };
|
||||
|
||||
- cloudflare-dyndns = python3Packages.cloudflare-dyndns;
|
||||
+ cloudflare-dyndns = with python3Packages; toPythonApplication cloudflare-dyndns;
|
||||
|
||||
cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { };
|
||||
|
|
@ -8,30 +8,44 @@ let
|
|||
nix-diff
|
||||
nix-tree
|
||||
nixfmt
|
||||
nvd
|
||||
rnix-lsp
|
||||
statix
|
||||
cachix
|
||||
];
|
||||
networkingPackages = with pkgs; [ curl dig httpie openssh mosh ];
|
||||
cmdLineUtilPackages = with pkgs; [ bash broot coreutils-full fd gnugrep less ranger tree ];
|
||||
networkingPackages = with pkgs; [
|
||||
curl
|
||||
dig
|
||||
httpie
|
||||
openssh
|
||||
mosh
|
||||
];
|
||||
cmdLineUtilPackages = with pkgs; [
|
||||
bash
|
||||
broot
|
||||
coreutils-full
|
||||
fd
|
||||
gnugrep
|
||||
less
|
||||
ranger
|
||||
tree
|
||||
];
|
||||
miscPackages = with pkgs; [
|
||||
binutils
|
||||
cabal2nix
|
||||
cloc
|
||||
comma
|
||||
difftastic
|
||||
dua
|
||||
entr
|
||||
hyperfine
|
||||
gitui
|
||||
graphviz-nox
|
||||
iterm2
|
||||
jetbrains.idea-community
|
||||
just
|
||||
micro
|
||||
fastfetch
|
||||
neofetch
|
||||
proselint
|
||||
shellcheck
|
||||
toot
|
||||
typos
|
||||
];
|
||||
fonts = with pkgs; [
|
||||
|
@ -65,7 +79,10 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
eza.enable = true;
|
||||
eza = {
|
||||
enable = true;
|
||||
enableAliases = true;
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, config, osConfig, pkgs, ... }:
|
||||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
let username = config.home.username;
|
||||
in {
|
||||
|
@ -24,25 +24,15 @@ in {
|
|||
|
||||
interactiveShellInit = ''
|
||||
fzf_configure_bindings --git_status=\cs --history=\cr --variables=\cv --directory=\cf --git_log=\cg
|
||||
|
||||
if test -d (brew --prefix)"/share/fish/completions"
|
||||
set -p fish_complete_path (brew --prefix)/share/fish/completions
|
||||
end
|
||||
|
||||
if test -d (brew --prefix)"/share/fish/vendor_completions.d"
|
||||
set -p fish_complete_path (brew --prefix)/share/fish/vendor_completions.d
|
||||
end
|
||||
|
||||
fastfetch
|
||||
neofetch
|
||||
'';
|
||||
|
||||
shellInit = ''
|
||||
# nix
|
||||
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
||||
fenv source /run/current-system/etc/bashrc
|
||||
fenv source /etc/profiles/per-user/${username}/etc/profile.d/hm-session-vars.sh
|
||||
fish_add_path -m ~/.local/bin ~/.cabal/bin /etc/profiles/per-user/${username}/bin
|
||||
eval "$(${osConfig.homebrew.brewPrefix}/brew shellenv)"
|
||||
eval "$(/usr/local/bin/brew shellenv)"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ let
|
|||
marketplaceExtensions = [
|
||||
"13xforever/language-x86-64-assembly"
|
||||
"ban/spellright"
|
||||
"cs128/cs128-clang-tidy"
|
||||
"dawhite/mustache"
|
||||
"GitHub/copilot"
|
||||
"kirozen/wordcounter"
|
||||
|
@ -23,6 +22,7 @@ in {
|
|||
extensions = with pkgs.vscode-extensions;
|
||||
[
|
||||
bierner.markdown-mermaid
|
||||
tamasfe.even-better-toml
|
||||
davidanson.vscode-markdownlint
|
||||
dotjoshjohnson.xml
|
||||
esbenp.prettier-vscode
|
||||
|
@ -33,15 +33,11 @@ in {
|
|||
jnoortheen.nix-ide
|
||||
justusadam.language-haskell
|
||||
kamikillerto.vscode-colorize
|
||||
llvm-vs-code-extensions.vscode-clangd
|
||||
mhutchie.git-graph
|
||||
mkhl.direnv
|
||||
rust-lang.rust-analyzer
|
||||
skellock.just
|
||||
streetsidesoftware.code-spell-checker
|
||||
tamasfe.even-better-toml
|
||||
timonwong.shellcheck
|
||||
twxs.cmake
|
||||
tyriar.sort-lines
|
||||
zhuangtongfa.material-theme
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace (builtins.filter
|
||||
|
@ -104,10 +100,10 @@ in {
|
|||
plugin.tactics.config.timeout_duration = 5;
|
||||
};
|
||||
|
||||
roc-lang.language-server.exe = "/nix/store/1m7xfjx1b79s39cxl52aq77z22yffs4a-roc-0.0.1/bin/roc_language_server";
|
||||
|
||||
nix = {
|
||||
enableLanguageServer = true;
|
||||
formatterPath = "${pkgs.nixfmt}/bin/nixfmt";
|
||||
serverPath = "${pkgs.rnix-lsp}/bin/rnix-lsp";
|
||||
};
|
||||
|
||||
oneDarkPro = {
|
||||
|
@ -160,7 +156,7 @@ in {
|
|||
"[json]" = { editor.defaultFormatter = "esbenp.prettier-vscode"; };
|
||||
"[python]" = { editor.defaultFormatter = "ms-python.black-formatter"; };
|
||||
|
||||
black-formatter.args = [ "--line-length" "100" ];
|
||||
black-formatter.args = ["--line-length" "100"];
|
||||
};
|
||||
|
||||
keybindings = [
|
||||
|
|
|
@ -8,26 +8,20 @@
|
|||
{
|
||||
name = "spellright";
|
||||
publisher = "ban";
|
||||
version = "3.0.124";
|
||||
sha256 = "1c2z2fsdj81vn95mxqc98ifkkdcrbx6415s651h2k5nsgmradcnh";
|
||||
version = "3.0.118";
|
||||
sha256 = "09y4mwqv8jraklmwzb9kdqgjz59zv23sghsc2294pg6cgwhmky06";
|
||||
}
|
||||
{
|
||||
name = "markdown-mermaid";
|
||||
publisher = "bierner";
|
||||
version = "1.23.0";
|
||||
sha256 = "0azf61v4gm4izb4s83bjxnfnnglnql6w5mxjf8pkq38wr56k31sc";
|
||||
}
|
||||
{
|
||||
name = "cs128-clang-tidy";
|
||||
publisher = "cs128";
|
||||
version = "0.5.1";
|
||||
sha256 = "1f2r3k6z33chsfav51j2qsn14lyjz645ffzvi5ic5mhi3v6j48hl";
|
||||
version = "1.21.0";
|
||||
sha256 = "1ix0l8h1g32yn65nsc1sja7ddh42y5wdxbr7w753zdqyx04rs8v3";
|
||||
}
|
||||
{
|
||||
name = "vscode-markdownlint";
|
||||
publisher = "davidanson";
|
||||
version = "0.55.0";
|
||||
sha256 = "00rx55aapb7w6wazc3kyl8gzvfyr5d0flrwgxfz1pffw2dywfmxj";
|
||||
publisher = "DavidAnson";
|
||||
version = "0.54.0";
|
||||
sha256 = "171qw6mymc9hmm8xin3gwr8r2ac8yfr3s8agagsqq9193cawbcq6";
|
||||
}
|
||||
{
|
||||
name = "mustache";
|
||||
|
@ -37,63 +31,57 @@
|
|||
}
|
||||
{
|
||||
name = "xml";
|
||||
publisher = "dotjoshjohnson";
|
||||
publisher = "DotJoshJohnson";
|
||||
version = "2.5.1";
|
||||
sha256 = "1v4x6yhzny1f8f4jzm4g7vqmqg5bqchyx4n25mkgvw2xp6yls037";
|
||||
}
|
||||
{
|
||||
name = "prettier-vscode";
|
||||
publisher = "esbenp";
|
||||
version = "10.4.0";
|
||||
sha256 = "1iy7i0yxnhizz40llnc1dk9q8kk98rz6ki830sq7zj3ak9qp9vzk";
|
||||
version = "10.1.0";
|
||||
sha256 = "01s0vi2h917mqfpdrhqhp2ijwkibw95yk2js0l587wvajbbry2s9";
|
||||
}
|
||||
{
|
||||
name = "copilot";
|
||||
publisher = "github";
|
||||
version = "1.192.0";
|
||||
sha256 = "0kvj14hyb0cg0yl3xlka0f8z4q6x965g29437xh5v9wy7s0jfxmp";
|
||||
publisher = "GitHub";
|
||||
version = "1.156.683";
|
||||
sha256 = "0hks2vav7xxcrrwqrpg6lckanxh8qd0a5zzhywn72i8r18a14jl2";
|
||||
}
|
||||
{
|
||||
name = "copilot-chat";
|
||||
publisher = "github";
|
||||
version = "0.16.2024051402";
|
||||
sha256 = "0nwfh95rgbssyfijnj2g9bhbmn2vk9gi06by28ysqa799b6yky28";
|
||||
publisher = "GitHub";
|
||||
version = "0.12.2024013003";
|
||||
sha256 = "0k5mqhx1acf41sf2qn5fnw5icah2awvivgpqgfrkxn98b5adc2p0";
|
||||
}
|
||||
{
|
||||
name = "go";
|
||||
publisher = "golang";
|
||||
version = "0.41.4";
|
||||
sha256 = "03gxgcvjk5plzkk7gjsrrck1kszzbzswkbcr33m3qlkyz4iw9nly";
|
||||
version = "0.40.3";
|
||||
sha256 = "15kicpv9xpn7l3w9mbmsjdzjmavh88p3skkim0a9prg9p40bsq0m";
|
||||
}
|
||||
{
|
||||
name = "haskell";
|
||||
publisher = "haskell";
|
||||
version = "2.5.3";
|
||||
sha256 = "13s39fvb6kwxklcfsa5xh4z7y8y3y0h6jv39ljrgl24qkwgx8xnw";
|
||||
}
|
||||
{
|
||||
name = "roc-lang-unofficial";
|
||||
publisher = "ivandemchenko";
|
||||
version = "1.2.0";
|
||||
sha256 = "0q9w0sv4988wh4p4vmf45jab614ggkd7qfjphdnlmnqcald7mhwl";
|
||||
version = "2.5.2";
|
||||
sha256 = "09pr3ya77ryj5n80k5srwaxmr0j77f6xp67w0kz324i6fhjd12bq";
|
||||
}
|
||||
{
|
||||
name = "gruvbox";
|
||||
publisher = "jdinhlife";
|
||||
version = "1.19.0";
|
||||
sha256 = "03yn94b8z41220iv0xwhvpl6z4s0lnxakxyb1yk95fd4vsy4nhp9";
|
||||
version = "1.18.0";
|
||||
sha256 = "07iy4649vjqif40agvp2ck9695vl1kv4zv69rn4j6hi0jra8dhg2";
|
||||
}
|
||||
{
|
||||
name = "plantuml";
|
||||
publisher = "jebbs";
|
||||
version = "2.18.1";
|
||||
sha256 = "0y0fmdb5s6wk7ll7sa4acs6q6wkjjiw04vry5zcrsaq4ypz4v0d3";
|
||||
version = "2.17.5";
|
||||
sha256 = "0l0amipyf74bkyiksnqfy2qcvv3qsshk9bqqqx28fk06nvx1zy8b";
|
||||
}
|
||||
{
|
||||
name = "nix-ide";
|
||||
publisher = "jnoortheen";
|
||||
version = "0.3.1";
|
||||
sha256 = "1cpfckh6zg8byi6x1llkdls24w9b0fvxx4qybi9zfcy5gc60r6nk";
|
||||
version = "0.2.2";
|
||||
sha256 = "1264027sjh9a112si0y0p3pk3y36shj5b4qkpsj207z7lbxqq0wg";
|
||||
}
|
||||
{
|
||||
name = "language-haskell";
|
||||
|
@ -113,53 +101,35 @@
|
|||
version = "2.4.4";
|
||||
sha256 = "1df6qkvyhw2k1wmy9z3kr56bcljyr8yqdvxd5vjfh579s1k370ch";
|
||||
}
|
||||
{
|
||||
name = "vscode-clangd";
|
||||
publisher = "llvm-vs-code-extensions";
|
||||
version = "0.1.28";
|
||||
sha256 = "1kys452zd99519jwvw5yqil0lm8wjvfaczsb555l0lk9lligbn35";
|
||||
}
|
||||
{
|
||||
name = "mesonbuild";
|
||||
publisher = "mesonbuild";
|
||||
version = "1.24.0";
|
||||
sha256 = "0l9ixzxrawhjzab8v9pa704fxag9dxm1j37lcgvfh8ck904kddwz";
|
||||
}
|
||||
{
|
||||
name = "git-graph";
|
||||
publisher = "mhutchie";
|
||||
version = "1.30.0";
|
||||
sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh";
|
||||
}
|
||||
{
|
||||
name = "direnv";
|
||||
publisher = "mkhl";
|
||||
version = "0.17.0";
|
||||
sha256 = "1n2qdd1rspy6ar03yw7g7zy3yjg9j1xb5xa4v2q12b0y6dymrhgn";
|
||||
}
|
||||
{
|
||||
name = "black-formatter";
|
||||
publisher = "ms-python";
|
||||
version = "2024.2.0";
|
||||
sha256 = "14w1ix8pm924piyw0dx2rq27cm5kmps9q99mkwrhi3ypliibx0x8";
|
||||
version = "2023.9.10291927";
|
||||
sha256 = "1alh8j35qidgmbb293ar02x5xbigqcv7khq1bp7blsffisdxdqm4";
|
||||
}
|
||||
{
|
||||
name = "debugpy";
|
||||
publisher = "ms-python";
|
||||
version = "2024.6.0";
|
||||
sha256 = "0gq7gkf4mcq7ckfqmhc2ahv9ny8skl98kyx27zwyl1k2jpmxwlsn";
|
||||
version = "2023.3.13341008";
|
||||
sha256 = "091vcjx35mq76fpd6wqhcyvp8gq3mg49n0bzbv0q6g0yaf0xhc9n";
|
||||
}
|
||||
{
|
||||
name = "python";
|
||||
publisher = "ms-python";
|
||||
version = "2024.7.11341012";
|
||||
sha256 = "01dynn86cm360ipfx43z8klqg2ghpgc5awx75xm947l9byn4dpxk";
|
||||
version = "2023.25.10292213";
|
||||
sha256 = "09r82h3px2nlkyd3h5y8p6xcz9pccayvfnrnymlkiy9n2j2889sy";
|
||||
}
|
||||
{
|
||||
name = "vscode-pylance";
|
||||
publisher = "ms-python";
|
||||
version = "2024.5.100";
|
||||
sha256 = "05lccr0mmccvf0mk0q36rxyd9znp29p6brgcnnz648zygi3l1bm8";
|
||||
version = "2024.1.102";
|
||||
sha256 = "05wikxrc7bw2m71gp2n4myfqdk7gk8y474v2fhg0qrxz5hafkyx6";
|
||||
}
|
||||
{
|
||||
name = "vscode-cljfmt";
|
||||
|
@ -170,8 +140,8 @@
|
|||
{
|
||||
name = "rust-analyzer";
|
||||
publisher = "rust-lang";
|
||||
version = "0.4.1960";
|
||||
sha256 = "00m0lxzz9bn9pcxlrp0m45ppib0m6ms1whi8pc7gchc53sj6h4b3";
|
||||
version = "0.4.1825";
|
||||
sha256 = "19yqnrxf5c8wm330g13i3vyjbabakw2ary4c6z0j74fh4f1xniz8";
|
||||
}
|
||||
{
|
||||
name = "just";
|
||||
|
@ -194,18 +164,12 @@
|
|||
{
|
||||
name = "shellcheck";
|
||||
publisher = "timonwong";
|
||||
version = "0.37.1";
|
||||
sha256 = "0jvi9pzw80ga47p9zy92wy43prci5dj8lfa5syxl5cvchd3848v1";
|
||||
}
|
||||
{
|
||||
name = "cmake";
|
||||
publisher = "twxs";
|
||||
version = "0.0.17";
|
||||
sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
|
||||
version = "0.35.0";
|
||||
sha256 = "0bnrad3s66nv0kqlrzq8wfw9jycn7vj80nwq8f4l171l14j5c7jj";
|
||||
}
|
||||
{
|
||||
name = "sort-lines";
|
||||
publisher = "tyriar";
|
||||
publisher = "Tyriar";
|
||||
version = "1.11.0";
|
||||
sha256 = "0c8y2b64gsfbwjy6yvzkz86vj9vqhsrf50ah0645yybc737hzzig";
|
||||
}
|
||||
|
@ -218,14 +182,14 @@
|
|||
{
|
||||
name = "material-theme";
|
||||
publisher = "zhuangtongfa";
|
||||
version = "3.17.2";
|
||||
sha256 = "1myqi6fffaq7szwz70bb0b2q9npgsk1s5fpakjkzdajlablcikg2";
|
||||
version = "3.16.2";
|
||||
sha256 = "0ava94zn68lxy3ph78r5rma39qz03al5l5i6x070mpa1hzj3i319";
|
||||
}
|
||||
{
|
||||
name = "vscode-zig";
|
||||
publisher = "ziglang";
|
||||
version = "0.5.7";
|
||||
sha256 = "11kb0f1iwlxrd3iymd3vmlk9imf4inqirlcnsg22x23bfa4xvdb0";
|
||||
version = "0.5.1";
|
||||
sha256 = "1m25bbgfv8x8f0ywadjwsmh4myqgp8xwf5yjrkskgr8axj8ny36a";
|
||||
}
|
||||
];
|
||||
}
|
|
@ -1,3 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{ home.packages = []; }
|
||||
let
|
||||
rc = pkgs.callPackage ./report-hm-changes.nix { inherit config pkgs; };
|
||||
in {
|
||||
home.packages = [ rc ];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
profiles = "/nix/var/nix/profiles/per-user/${config.home.username}/profile-*-link";
|
||||
in
|
||||
pkgs.writeShellScriptBin "report-hm-changes" ''
|
||||
# Disable nvd if there are less than 2 hm profiles.
|
||||
if [ $(/bin/ls -d1v ${profiles} 2>/dev/null | wc -l) -lt 2 ]; then
|
||||
echo "Skipping changes report..."
|
||||
else
|
||||
${pkgs.nvd}/bin/nvd diff $(/bin/ls -d1v ${profiles} | tail -2)
|
||||
fi
|
||||
''
|
45
system.nix
45
system.nix
|
@ -1,45 +0,0 @@
|
|||
{ pkgs, inputs, ... }: {
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
system = {
|
||||
checks.verifyNixChannels = true;
|
||||
defaults = {
|
||||
dock = {
|
||||
appswitcher-all-displays = false;
|
||||
autohide = true;
|
||||
magnification = true;
|
||||
mru-spaces = false;
|
||||
orientation = "bottom";
|
||||
wvous-bl-corner = 13;
|
||||
wvous-br-corner = 14;
|
||||
wvous-tl-corner = 2;
|
||||
wvous-tr-corner = 3;
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
FXPreferredViewStyle = "Nlsv";
|
||||
};
|
||||
NSGlobalDomain = {
|
||||
AppleEnableMouseSwipeNavigateWithScrolls = true;
|
||||
AppleEnableSwipeNavigateWithScrolls = true;
|
||||
AppleICUForce24HourTime = true;
|
||||
AppleInterfaceStyle = "Dark";
|
||||
AppleInterfaceStyleSwitchesAutomatically = false;
|
||||
NSAutomaticCapitalizationEnabled = false;
|
||||
NSAutomaticDashSubstitutionEnabled = true;
|
||||
NSAutomaticSpellingCorrectionEnabled = false;
|
||||
NSAutomaticPeriodSubstitutionEnabled = false;
|
||||
NSAutomaticQuoteSubstitutionEnabled = true;
|
||||
_HIHideMenuBar = true;
|
||||
};
|
||||
trackpad = {
|
||||
Clicking = true;
|
||||
TrackpadRightClick = true;
|
||||
};
|
||||
};
|
||||
keyboard = {
|
||||
enableKeyMapping = true;
|
||||
remapCapsLockToControl = true;
|
||||
};
|
||||
stateVersion = 4;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue