Compare commits

...

27 Commits

Author SHA1 Message Date
Abhinav Sarkar 927fadcead flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/6d3b6dc9222c12b951169becdf4b0592ee9576ef' (2024-04-30)
  → 'github:nix-community/home-manager/44677a1c96810a8e8c4ffaeaad10c842402647c1' (2024-05-12)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24)
  → 'github:LnL7/nix-darwin/de8b0d60d6fd34f35abffc46adc94ebaa6996ce2' (2024-05-14)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bcd44e224fd68ce7d269b4f44d24c2220fd821e7' (2024-05-01)
  → 'github:nixos/nixpkgs/abd6d48f8c77bea7dc51beb2adfa6ed3950d2585' (2024-05-14)
2024-05-15 11:06:26 +05:30
Abhinav Sarkar 4100451e1e Replaces neofetch with fastfetch 2024-05-02 19:05:26 +05:30
Abhinav Sarkar aa1f1fdb7f flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/46833c3115e8858370880d892748f0927d8193c3' (2024-04-22)
  → 'github:nix-community/home-manager/6d3b6dc9222c12b951169becdf4b0592ee9576ef' (2024-04-30)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19)
  → 'github:LnL7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c' (2024-04-21)
  → 'github:nixos/nixpkgs/bcd44e224fd68ce7d269b4f44d24c2220fd821e7' (2024-05-01)
2024-05-02 19:02:21 +05:30
Abhinav Sarkar 94672d2847 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/31357486b0ef6f4e161e002b6893eeb4fafc3ca9' (2024-04-10)
  → 'github:nix-community/home-manager/46833c3115e8858370880d892748f0927d8193c3' (2024-04-22)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30)
  → 'github:LnL7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f173d0881eff3b21ebb29a2ef8bedbc106c86ea5' (2024-04-11)
  → 'github:nixos/nixpkgs/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c' (2024-04-21)
2024-04-22 20:58:57 +05:30
Abhinav Sarkar ba4b65f56b Adds roc-lang vscode extension 2024-04-22 19:42:58 +05:30
Abhinav Sarkar 89053da66b flake.lock: Update
Flake lock file updates:

• Updated input 'fish-plugin-fzf':
    'github:PatrickF1/fzf.fish/dfdf69369bd3a3c83654261f90363da2aa1db8c9' (2024-02-18)
  → 'github:PatrickF1/fzf.fish/8920367cf85eee5218cc25a11e209d46e2591e7a' (2024-04-07)
• Updated input 'home-manager':
    'github:nix-community/home-manager/80546b220e95a575c66c213af1b09fe255299438' (2024-04-02)
  → 'github:nix-community/home-manager/31357486b0ef6f4e161e002b6893eeb4fafc3ca9' (2024-04-10)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/080a4a27f206d07724b88da096e27ef63401a504' (2024-04-02)
  → 'github:nixos/nixpkgs/f173d0881eff3b21ebb29a2ef8bedbc106c86ea5' (2024-04-11)
2024-04-12 11:04:59 +05:30
Abhinav Sarkar ba6666674e flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/4be0464472675212654dedf3e021bd5f1d58b92f' (2024-04-02)
  → 'github:nix-community/home-manager/80546b220e95a575c66c213af1b09fe255299438' (2024-04-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
  → 'github:nixos/nixpkgs/080a4a27f206d07724b88da096e27ef63401a504' (2024-04-02)
2024-04-03 18:13:00 +05:30
Abhinav Sarkar 5b97ebac01 Adds last.fm app 2024-04-02 10:56:14 +05:30
Abhinav Sarkar 9f20aad717 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2' (2024-03-28)
  → 'github:nix-community/home-manager/4be0464472675212654dedf3e021bd5f1d58b92f' (2024-04-02)
2024-04-02 10:53:43 +05:30
Abhinav Sarkar 5f4cfd4676 Fixes NIX_PATH 2024-04-01 23:33:42 +05:30
Abhinav Sarkar 497b1a07e2 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/6665da45dd03857a4ae600cf246435e6ae57407e' (2024-03-18)
  → 'github:nix-community/home-manager/c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2' (2024-03-28)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17)
  → 'github:LnL7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e367f7a1fb93137af22a3908f00b9a35e2d286a7' (2024-03-18)
  → 'github:nixos/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
2024-03-30 15:30:01 +05:30
Abhinav Sarkar ded47de7e6 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/8b07ca541939211d3cc437ddfd74ebdef3d72471' (2024-03-08)
  → 'github:nix-community/home-manager/6665da45dd03857a4ae600cf246435e6ae57407e' (2024-03-18)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6' (2024-03-07)
  → 'github:LnL7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f945939fd679284d736112d3d5410eb867f3b31c' (2024-03-07)
  → 'github:nixos/nixpkgs/e367f7a1fb93137af22a3908f00b9a35e2d286a7' (2024-03-18)
2024-03-19 11:45:15 +05:30
Abhinav Sarkar 118cc578db flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/0e0e9669547e45ea6cca2de4044c1a384fd0fe55' (2024-02-22)
  → 'github:nix-community/home-manager/8b07ca541939211d3cc437ddfd74ebdef3d72471' (2024-03-08)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/bbde06bed1b72eddff063fa42f18644e90a0121e' (2024-02-24)
  → 'github:LnL7/nix-darwin/550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6' (2024-03-07)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/48b75eb6e521f2303cb3cd53a94ec80021b422aa' (2024-02-23)
  → 'github:nixos/nixpkgs/f945939fd679284d736112d3d5410eb867f3b31c' (2024-03-07)
2024-03-08 21:51:08 +05:30
Abhinav Sarkar e77a35330a flake.lock: Update
Flake lock file updates:

• Updated input 'fish-plugin-fzf':
    'github:PatrickF1/fzf.fish/e5d54b93cd3e096ad6c2a419df33c4f50451c900' (2024-01-03)
  → 'github:PatrickF1/fzf.fish/dfdf69369bd3a3c83654261f90363da2aa1db8c9' (2024-02-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/3d6791b3897b526c82920a2ab5f61d71985b3cf8' (2024-02-15)
  → 'github:nix-community/home-manager/0e0e9669547e45ea6cca2de4044c1a384fd0fe55' (2024-02-22)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/0e6857fa1d632637488666c08e7b02c08e3178f8' (2024-02-18)
  → 'github:LnL7/nix-darwin/bbde06bed1b72eddff063fa42f18644e90a0121e' (2024-02-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e015f24e508c549ab2ab2ad74dcdad3ae07513fe' (2024-02-18)
  → 'github:nixos/nixpkgs/48b75eb6e521f2303cb3cd53a94ec80021b422aa' (2024-02-23)
2024-02-24 12:26:31 +05:30
Abhinav Sarkar bb18c42eb4 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/21b078306a2ab68748abf72650db313d646cf2ca' (2024-02-11)
  → 'github:nix-community/home-manager/3d6791b3897b526c82920a2ab5f61d71985b3cf8' (2024-02-15)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd' (2024-02-12)
  → 'github:LnL7/nix-darwin/0e6857fa1d632637488666c08e7b02c08e3178f8' (2024-02-18)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2d627a2a704708673e56346fcb13d25344b8eaf3' (2024-02-12)
  → 'github:nixos/nixpkgs/e015f24e508c549ab2ab2ad74dcdad3ae07513fe' (2024-02-18)
2024-02-18 20:24:12 +05:30
Abhinav Sarkar 7ff5e36871 Adds VSCode extensions for C++ 2024-02-17 16:09:46 +05:30
Abhinav Sarkar 20389b2dbb flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/f99eace7c167b8a6a0871849493b1c613d0f1b80' (2024-02-05)
  → 'github:nix-community/home-manager/21b078306a2ab68748abf72650db313d646cf2ca' (2024-02-11)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02)
  → 'github:LnL7/nix-darwin/44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd' (2024-02-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4b1aab22192b787355733c9495d47f4c66af084c' (2024-02-05)
  → 'github:nixos/nixpkgs/2d627a2a704708673e56346fcb13d25344b8eaf3' (2024-02-12)
2024-02-13 13:41:50 +05:30
Abhinav Sarkar 440404efb4 Fixes reporting package changes 2024-02-06 22:04:23 +05:30
Abhinav Sarkar 57621c0558 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/d634c3abafa454551f2083b054cd95c3f287be61' (2024-01-28)
  → 'github:nix-community/home-manager/f99eace7c167b8a6a0871849493b1c613d0f1b80' (2024-02-05)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/91b9daf672c957ef95a05491a75f62e6a01d5aaf' (2024-01-30)
  → 'github:LnL7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/222c1940fafeda4dea161858ffe6ebfc853d3db5' (2024-01-30)
  → 'github:nixos/nixpkgs/4b1aab22192b787355733c9495d47f4c66af084c' (2024-02-05)
2024-02-06 21:24:29 +05:30
Abhinav Sarkar 8450cbb7ff Modifies packages 2024-01-31 23:03:01 +05:30
Abhinav Sarkar 8904d08571 Formats files 2024-01-31 19:23:23 +05:30
Abhinav Sarkar cac568aa82 Splits system config into separate file 2024-01-31 19:21:33 +05:30
Abhinav Sarkar d7ca34e341 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/3df2a80f3f85f91ea06e5e91071fa74ba92e5084' (2024-01-23)
  → 'github:nix-community/home-manager/d634c3abafa454551f2083b054cd95c3f287be61' (2024-01-28)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d' (2023-11-24)
  → 'github:LnL7/nix-darwin/91b9daf672c957ef95a05491a75f62e6a01d5aaf' (2024-01-30)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5f5210aa20e343b7e35f40c033000db0ef80d7b9' (2024-01-22)
  → 'github:nixos/nixpkgs/222c1940fafeda4dea161858ffe6ebfc853d3db5' (2024-01-30)
2024-01-31 16:02:50 +05:30
Abhinav Sarkar 182fbba6ad Adds Homebrew support and packages 2024-01-31 16:00:03 +05:30
Abhinav Sarkar c25c30e461 Adds nix-darwin 2023-11-25 16:13:20 +05:30
Abhinav Sarkar 6d7d721bbc flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/93e804e7f8a1eb88bde6117cd5046501e66aa4bd' (2024-01-11)
  → 'github:nix-community/home-manager/3df2a80f3f85f91ea06e5e91071fa74ba92e5084' (2024-01-23)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
  → 'github:nixos/nixpkgs/5f5210aa20e343b7e35f40c033000db0ef80d7b9' (2024-01-22)
2024-01-24 10:46:56 +05:30
Abhinav Sarkar d86e954283 flake.lock: Update
Flake lock file updates:

• Updated input 'fish-plugin-fzf':
    'github:PatrickF1/fzf.fish/be2b1653269f86a2203f2f9c08cfd868888265be' (2023-12-20)
  → 'github:PatrickF1/fzf.fish/e5d54b93cd3e096ad6c2a419df33c4f50451c900' (2024-01-03)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2aff324cf65f5f98f89d878c056b779466b17db8' (2023-12-29)
  → 'github:nix-community/home-manager/93e804e7f8a1eb88bde6117cd5046501e66aa4bd' (2024-01-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870' (2023-12-25)
  → 'github:nixos/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
2024-01-11 20:33:15 +05:30
16 changed files with 330 additions and 191 deletions

View File

@ -4,7 +4,7 @@ This is the [Nix] and [Home Manager] configuration for managing my MacBook.
## Usage
First install [Nix]. Then, in the repo directory, run `nix develop` to get into the Nix shell.
First install [Nix] and [Homebrew]. 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,5 +31,6 @@ 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
configuration.nix Normal file
View File

@ -0,0 +1 @@
{ pkgs, inputs, ... }: { imports = [ ./nix.nix ./system.nix ]; }

View File

@ -35,11 +35,11 @@
"fish-plugin-fzf": {
"flake": false,
"locked": {
"lastModified": 1703060768,
"narHash": "sha256-/31pjXPTBw3VnA0jM6WlRCLVaG57LQNjVQhSc3Bd2o4=",
"lastModified": 1712464035,
"narHash": "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM=",
"owner": "PatrickF1",
"repo": "fzf.fish",
"rev": "be2b1653269f86a2203f2f9c08cfd868888265be",
"rev": "8920367cf85eee5218cc25a11e209d46e2591e7a",
"type": "github"
},
"original": {
@ -71,11 +71,11 @@
]
},
"locked": {
"lastModified": 1703838268,
"narHash": "sha256-SRg5nXcdPnrsQR2MTAp7en0NyJnQ2wB1ivmsgEbvN+o=",
"lastModified": 1715486357,
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2aff324cf65f5f98f89d878c056b779466b17db8",
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
"type": "github"
},
"original": {
@ -101,19 +101,39 @@
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1715653378,
"narHash": "sha256-6kbg/PI3+SBP17f4T0js3CBsMLVtlD0JqJhDKgzk1mQ=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "de8b0d60d6fd34f35abffc46adc94ebaa6996ce2",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1703499205,
"narHash": "sha256-lF9rK5mSUfIZJgZxC3ge40tp1gmyyOXZ+lRY3P8bfbg=",
"lastModified": 1715653339,
"narHash": "sha256-7lR9tpVXviSccl07GXI0+ve/natd24HAkuy1sQp0OlI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870",
"rev": "abd6d48f8c77bea7dc51beb2adfa6ed3950d2585",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"rev": "e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870",
"type": "github"
}
},
@ -125,6 +145,7 @@
"flake-compat": "flake-compat",
"home-manager": "home-manager",
"monaspace-font": "monaspace-font",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs"
}
}

View File

@ -1,8 +1,12 @@
{
description = "Home Manager configuration of Abhinav Sarkar";
description = "Nix Darwin + Home Manager configuration of Abhinav Sarkar";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?rev=e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
@ -29,7 +33,7 @@
};
};
outputs = inputs@{ nixpkgs, home-manager, ... }:
outputs = inputs@{ self, nixpkgs, nix-darwin, home-manager, ... }:
let
system = "x86_64-darwin";
pkgs = import nixpkgs {
@ -37,17 +41,26 @@
config = { allowUnfree = true; };
};
in {
homeConfigurations.abhinav = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./home.nix ];
extraSpecialArgs = { inherit inputs; };
darwinConfigurations."Abhinavs-MacBook-Pro" = nix-darwin.lib.darwinSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
./homebrew.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.users.abhinav = import ./home.nix;
home-manager.extraSpecialArgs = { inherit inputs; };
}
];
};
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [ (import home-manager { inherit pkgs; }).home-manager just ];
shellHook = ''
export NIX_PATH=$HOME/.hm-nixchannels;
mkdir -p $NIX_PATH;
ln -f -s ${pkgs.path} -T $NIX_PATH/nixpkgs;
export NIXPKGS_PATH=${pkgs.path};
'';
};
};

View File

@ -1,11 +1,12 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports = [ ./programs ./scripts ./launchd.nix ./nix.nix ];
let username = config.home.username;
in {
imports = [ ./programs ./scripts ./launchd.nix ];
home = {
username = "abhinav";
homeDirectory = "/Users/abhinav";
homeDirectory = lib.mkForce "/Users/${username}";
stateVersion = "22.05";
enableNixpkgsReleaseCheck = true;
@ -23,7 +24,6 @@
sessionVariables = {
EDITOR = "micro";
NIX_PATH = "$HOME/.hm-nixchannels";
};
file."Applications/Home Manager Apps".source = let

48
homebrew.nix Normal file
View File

@ -0,0 +1,48 @@
{ ... }: {
homebrew = {
enable = true;
onActivation = {
autoUpdate = false;
cleanup = "uninstall";
upgrade = false;
};
global = {
autoUpdate = false;
brewfile = true;
};
casks = [
"amethyst"
"appcleaner"
"calibre"
"dropbox"
"fanny"
"firefox"
"garmin-express"
"google-chrome"
"homebrew/cask/handbrake"
"lastfm"
"monodraw"
"obsidian"
"spotify"
"steam"
"telegram"
"utm"
"vlc"
];
masApps = {
Amphetamine = 937984704;
Bear = 1091189122;
GarageBand = 682658836;
iMovie = 408981434;
Ivory = 6444602274;
Keynote = 409183694;
Kindle = 302584613;
NextDNS = 1464122853;
Numbers = 409203825;
Pages = 409201541;
Reeder = 1449412482;
TestFlight = 899247664;
Xcode = 497799835;
};
};
}

View File

@ -1,5 +1,6 @@
in_nix_shell := env_var_or_default("IN_NIX_SHELL", "false")
root_dir := justfile_directory()
hostname := `scutil --get LocalHostName`
# choose a just command to run
default:
@ -18,29 +19,40 @@ _run cmd:
fi
_build:
home-manager -v build --flake "{{ root_dir }}#abhinav"
nix build {{ root_dir }}#darwinConfigurations.{{ hostname }}.system
# build latest home-manager generation
build: (_run "_build")
_switch:
home-manager -v switch --flake "{{ root_dir }}#abhinav"
report-hm-changes
_switch: _build
./result/sw/bin/darwin-rebuild -v switch --flake "{{ root_dir }}"
# switch to latest home-manager generation
switch: (_run "_switch")
switch: (_run "_switch") && _report-changes
_update-vscode-extensions:
$NIX_PATH/nixpkgs/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh > \
_update: && _switch _brew-update _report-changes
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
_update: _update-vscode-extensions && _switch
nix flake update --commit-lock-file "{{ root_dir }}"
_brew-update:
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:
home-manager expire-generations "-7 days"
nix-collect-garbage -d --delete-old
clean days="7":
home-manager expire-generations "-{{days}} days"
sudo nix-collect-garbage -d --delete-older-than {{days}}d
brew cleanup --prune {{days}}

50
nix.nix
View File

@ -1,19 +1,35 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
nix.package = pkgs.nixStable;
nix.settings = {
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
max-jobs = 6;
cores = 2;
auto-optimise-store = true;
connect-timeout = 5;
log-lines = 25;
min-free = 128000000;
max-free = 1000000000;
fallback = true;
warn-dirty = false;
keep-outputs = true;
{ config, pkgs, inputs, ... }: {
services.nix-daemon.enable = true;
nix = {
package = pkgs.nixFlakes;
registry.nixpkgs.flake = inputs.nixpkgs;
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
gc = {
automatic = true;
interval.Day = 1;
options = "--delete-older-than 7d";
};
settings = {
auto-optimise-store = true;
connect-timeout = 5;
cores = 2;
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
fallback = true;
keep-outputs = true;
log-lines = 25;
max-free = 1000000000;
max-jobs = 6;
min-free = 128000000;
warn-dirty = false;
trusted-users = [ "@admin" ];
};
};
nixpkgs = {
hostPlatform = "x86_64-darwin";
config.allowUnfree = true;
};
}

View File

@ -1,43 +0,0 @@
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 { };

View File

@ -8,44 +8,30 @@ let
nix-diff
nix-tree
nixfmt
rnix-lsp
nvd
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
neofetch
fastfetch
proselint
shellcheck
toot
typos
];
fonts = with pkgs; [
@ -79,10 +65,7 @@ in {
};
};
eza = {
enable = true;
enableAliases = true;
};
eza.enable = true;
direnv = {
enable = true;

View File

@ -1,6 +1,7 @@
{ inputs, config, pkgs, ... }:
{ inputs, config, osConfig, pkgs, ... }:
{
let username = config.home.username;
in {
programs.fish = {
enable = true;
@ -23,13 +24,25 @@
interactiveShellInit = ''
fzf_configure_bindings --git_status=\cs --history=\cr --variables=\cv --directory=\cf --git_log=\cg
neofetch
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
'';
shellInit = ''
# nix
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
fish_add_path -m ~/.local/bin ~/.cabal/bin
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)"
'';
};
}

View File

@ -4,6 +4,7 @@ let
marketplaceExtensions = [
"13xforever/language-x86-64-assembly"
"ban/spellright"
"cs128/cs128-clang-tidy"
"dawhite/mustache"
"GitHub/copilot"
"kirozen/wordcounter"
@ -22,7 +23,6 @@ in {
extensions = with pkgs.vscode-extensions;
[
bierner.markdown-mermaid
tamasfe.even-better-toml
davidanson.vscode-markdownlint
dotjoshjohnson.xml
esbenp.prettier-vscode
@ -33,11 +33,15 @@ 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
@ -100,10 +104,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 = {
@ -156,7 +160,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 = [

View File

@ -8,20 +8,26 @@
{
name = "spellright";
publisher = "ban";
version = "3.0.118";
sha256 = "09y4mwqv8jraklmwzb9kdqgjz59zv23sghsc2294pg6cgwhmky06";
version = "3.0.124";
sha256 = "1c2z2fsdj81vn95mxqc98ifkkdcrbx6415s651h2k5nsgmradcnh";
}
{
name = "markdown-mermaid";
publisher = "bierner";
version = "1.21.0";
sha256 = "1ix0l8h1g32yn65nsc1sja7ddh42y5wdxbr7w753zdqyx04rs8v3";
version = "1.23.0";
sha256 = "0azf61v4gm4izb4s83bjxnfnnglnql6w5mxjf8pkq38wr56k31sc";
}
{
name = "cs128-clang-tidy";
publisher = "cs128";
version = "0.5.1";
sha256 = "1f2r3k6z33chsfav51j2qsn14lyjz645ffzvi5ic5mhi3v6j48hl";
}
{
name = "vscode-markdownlint";
publisher = "DavidAnson";
version = "0.53.0";
sha256 = "1jd2bgzmk11jgv897605ibfl38lr0yssmic6yv6mrrwcgvmrg402";
publisher = "davidanson";
version = "0.55.0";
sha256 = "00rx55aapb7w6wazc3kyl8gzvfyr5d0flrwgxfz1pffw2dywfmxj";
}
{
name = "mustache";
@ -31,57 +37,63 @@
}
{
name = "xml";
publisher = "DotJoshJohnson";
publisher = "dotjoshjohnson";
version = "2.5.1";
sha256 = "1v4x6yhzny1f8f4jzm4g7vqmqg5bqchyx4n25mkgvw2xp6yls037";
}
{
name = "prettier-vscode";
publisher = "esbenp";
version = "10.1.0";
sha256 = "01s0vi2h917mqfpdrhqhp2ijwkibw95yk2js0l587wvajbbry2s9";
version = "10.4.0";
sha256 = "1iy7i0yxnhizz40llnc1dk9q8kk98rz6ki830sq7zj3ak9qp9vzk";
}
{
name = "copilot";
publisher = "GitHub";
version = "1.143.601";
sha256 = "0c5zpns1agbvsb32w4d0fj2dmqyak6d1sjwip128x10zy3aymvqr";
publisher = "github";
version = "1.192.0";
sha256 = "0kvj14hyb0cg0yl3xlka0f8z4q6x965g29437xh5v9wy7s0jfxmp";
}
{
name = "copilot-chat";
publisher = "GitHub";
version = "0.12.2023122001";
sha256 = "1n298nsm8zfm8hxpafbx74b881ccda7vssbwg01djk9ybivdrh1f";
publisher = "github";
version = "0.16.2024051402";
sha256 = "0nwfh95rgbssyfijnj2g9bhbmn2vk9gi06by28ysqa799b6yky28";
}
{
name = "go";
publisher = "golang";
version = "0.40.1";
sha256 = "0844kxbi7qi79wal0cqcd4wiygc42fyhamn33lsx2ms4yj5jxri9";
version = "0.41.4";
sha256 = "03gxgcvjk5plzkk7gjsrrck1kszzbzswkbcr33m3qlkyz4iw9nly";
}
{
name = "haskell";
publisher = "haskell";
version = "2.5.1";
sha256 = "1gy2s9pzwsiwjk2b3sqn9hp3zbcg1jxbf4zl9hcqan3q6v96m7dz";
version = "2.5.3";
sha256 = "13s39fvb6kwxklcfsa5xh4z7y8y3y0h6jv39ljrgl24qkwgx8xnw";
}
{
name = "roc-lang-unofficial";
publisher = "ivandemchenko";
version = "1.2.0";
sha256 = "0q9w0sv4988wh4p4vmf45jab614ggkd7qfjphdnlmnqcald7mhwl";
}
{
name = "gruvbox";
publisher = "jdinhlife";
version = "1.17.0";
sha256 = "1w9h4ygvgbj71npwlkg39rsw63pdz28g2msifa1hmf4y543ii069";
version = "1.19.0";
sha256 = "03yn94b8z41220iv0xwhvpl6z4s0lnxakxyb1yk95fd4vsy4nhp9";
}
{
name = "plantuml";
publisher = "jebbs";
version = "2.17.5";
sha256 = "0l0amipyf74bkyiksnqfy2qcvv3qsshk9bqqqx28fk06nvx1zy8b";
version = "2.18.1";
sha256 = "0y0fmdb5s6wk7ll7sa4acs6q6wkjjiw04vry5zcrsaq4ypz4v0d3";
}
{
name = "nix-ide";
publisher = "jnoortheen";
version = "0.2.2";
sha256 = "1264027sjh9a112si0y0p3pk3y36shj5b4qkpsj207z7lbxqq0wg";
version = "0.3.1";
sha256 = "1cpfckh6zg8byi6x1llkdls24w9b0fvxx4qybi9zfcy5gc60r6nk";
}
{
name = "language-haskell";
@ -101,41 +113,65 @@
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 = "2023.7.13471009";
sha256 = "18gdvmpnq5v6dp6v63vk43x27r1q5y8mzm516mr4rzvvgciyakqp";
version = "2024.2.0";
sha256 = "14w1ix8pm924piyw0dx2rq27cm5kmps9q99mkwrhi3ypliibx0x8";
}
{
name = "debugpy";
publisher = "ms-python";
version = "2024.6.0";
sha256 = "0gq7gkf4mcq7ckfqmhc2ahv9ny8skl98kyx27zwyl1k2jpmxwlsn";
}
{
name = "python";
publisher = "ms-python";
version = "2023.23.13541005";
sha256 = "1rir25hf09ig70py57j6aaqd12a3g16kxx8271m2q92s26ldgvpv";
version = "2024.7.11341012";
sha256 = "01dynn86cm360ipfx43z8klqg2ghpgc5awx75xm947l9byn4dpxk";
}
{
name = "vscode-pylance";
publisher = "ms-python";
version = "2023.12.101";
sha256 = "0i8gjrr5l5q9x9pd55gj4vd20fgajljiaib3qs05p9hxnqfj11xj";
version = "2024.5.100";
sha256 = "05lccr0mmccvf0mk0q36rxyd9znp29p6brgcnnz648zygi3l1bm8";
}
{
name = "vscode-cljfmt";
publisher = "pedrorgirardi";
version = "1.4.0";
sha256 = "1y5mlrfk6zsb32f7nj6nlh03xa4dyrf80iyjbq167i3gvy6n0d95";
version = "1.5.0";
sha256 = "1l4v3xs10y4z9fa2nshvqwzmf3a10va37k7yq5pgp8inlg01kff5";
}
{
name = "rust-analyzer";
publisher = "rust-lang";
version = "0.4.1786";
sha256 = "12rs0yjidm1nim0abn3cwsxr1q4f74f7r0k4wjqk09chia5w5jj6";
version = "0.4.1960";
sha256 = "00m0lxzz9bn9pcxlrp0m45ppib0m6ms1whi8pc7gchc53sj6h4b3";
}
{
name = "just";
@ -158,12 +194,18 @@
{
name = "shellcheck";
publisher = "timonwong";
version = "0.35.0";
sha256 = "0bnrad3s66nv0kqlrzq8wfw9jycn7vj80nwq8f4l171l14j5c7jj";
version = "0.37.1";
sha256 = "0jvi9pzw80ga47p9zy92wy43prci5dj8lfa5syxl5cvchd3848v1";
}
{
name = "cmake";
publisher = "twxs";
version = "0.0.17";
sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
}
{
name = "sort-lines";
publisher = "Tyriar";
publisher = "tyriar";
version = "1.11.0";
sha256 = "0c8y2b64gsfbwjy6yvzkz86vj9vqhsrf50ah0645yybc737hzzig";
}
@ -176,14 +218,14 @@
{
name = "material-theme";
publisher = "zhuangtongfa";
version = "3.16.2";
sha256 = "0ava94zn68lxy3ph78r5rma39qz03al5l5i6x070mpa1hzj3i319";
version = "3.17.2";
sha256 = "1myqi6fffaq7szwz70bb0b2q9npgsk1s5fpakjkzdajlablcikg2";
}
{
name = "vscode-zig";
publisher = "ziglang";
version = "0.5.1";
sha256 = "1m25bbgfv8x8f0ywadjwsmh4myqgp8xwf5yjrkskgr8axj8ny36a";
version = "0.5.7";
sha256 = "11kb0f1iwlxrd3iymd3vmlk9imf4inqirlcnsg22x23bfa4xvdb0";
}
];
}

View File

@ -1,7 +1,3 @@
{ config, lib, pkgs, ... }:
let
rc = pkgs.callPackage ./report-hm-changes.nix { inherit config pkgs; };
in {
home.packages = [ rc ];
}
{ home.packages = []; }

View File

@ -1,13 +0,0 @@
{ 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 Normal file
View File

@ -0,0 +1,45 @@
{ 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;
};
}