This commit is contained in:
Tyrel Souza 2023-01-01 16:04:01 -05:00
parent b2e355f058
commit f55323d926
3 changed files with 130 additions and 45 deletions

85
flake.lock Normal file
View File

@ -0,0 +1,85 @@
{
"nodes": {
"darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1671891118,
"narHash": "sha256-+GJYiT7QbfA306ex4sGMlFB8Ts297pn3OdQ9kTd4aDw=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "267040e7a2b8644f1fdfcf57b7e808c286dbdc7b",
"type": "github"
},
"original": {
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1672349765,
"narHash": "sha256-Ul3lSGglgHXhgU3YNqsNeTlRH1pqxbR64h+2hM+HtnM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "dd99675ee81fef051809bc87d67eb07f5ba022e8",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1672441599,
"narHash": "sha256-5s/aa/0cpw6MNXQSiUedDnnMVleL/WThL8Q8jYNcc+g=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0c5a734cdeadc39d253018ad0f83fb77eac7ab08",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-22.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
},
"utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View File

@ -1,24 +1,22 @@
{
description = "My first nix flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-22.05-darwin";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# nix will normally use the nixpkgs defined in home-managers inputs, we only want one copy of nixpkgs though
darwin.url = "github:lnl7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs"; # ...
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-22.05-darwin";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# nix will normally use the nixpkgs defined in home-managers inputs, we only want one copy of nixpkgs though
darwin.url = "github:lnl7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs"; # ...
};
outputs = { self, nixpkgs, home-manager, darwin }: {
darwinConfiguration."ts-tl-mbp" = darwin.lib.darwinSystem {
system = "x86_64-darwin";
modules = [
home-manager.darwinModules.home-manager
./hosts/ts-tl-mbp/default.nix
]; # will be important later
};
outputs = { self, nixpkgs, home-manager, darwin }: {
darwinConfigurations."ts-tl-mbp" = darwin.lib.darwinSystem {
# you can have multiple darwinConfigurations per flake, one per hostname
system = "x86_64-darwin";
modules = [ home-manager.darwinModules.home-manager ./hosts/ts-tl-mbp/default.nix ]; # will be important later
};
};
}

View File

@ -1,36 +1,38 @@
# hosts/ts-tl-mbp/default.nix
{ pkgs, ... }:
{
# Make sure the nix daemon always runs
services.nix-daemon.enable = true;
# Installs a version of nix, that dosen't need "experimental-features = nix-command flakes" in /etc/nix/nix.conf
services.nix-daemon.package = pkgs.nixFlakes;
# if you use zsh (the default on new macOS installations),
# you'll need to enable this so nix-darwin creates a zshrc sourcing needed environment changes
programs.zsh.enable = true;
homebrew = {
enable = true;
autoUpdate = true;
# updates homebrew packages on activation,
# can make darwin-rebuild much slower (otherwise i'd forget to do it ever though)
casks = [
"alfred"
"discord"
];
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.tyrel = { pkgs, ... }: {
stateVersion = "22.11"; # read below
programs.zsh.enable = true;
system.defaults.dock.autohide = true;
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.tyrel = { pkgs, ... }: {
home.stateVersion = "22.05";
programs.tmux = { # my tmux configuration, for example
enable = true;
keyMode = "vi";
clock24 = true;
historyLimit = 10000;
plugins = with pkgs.tmuxPlugins; [
vim-tmux-navigator
gruvbox
];
extraConfig = ''
new-session -s main
bind-key -n C-a send-prefix
'';
};
};
homebrew = {
enable = true;
autoUpdate = true;
# updates homebrew packages on activation,
# can make darwin-rebuild much slower (otherwise i'd forget to do it ever though)
casks = [
"alfred"
"discord"
];
};
}