mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-13 03:37:18 +00:00
get started with home-manager and nix
This commit is contained in:
commit
0452ac1eb2
7 changed files with 1791 additions and 0 deletions
7
configs/emacs.nix
Normal file
7
configs/emacs.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
20
configs/git.nix
Normal file
20
configs/git.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
signing = {
|
||||||
|
gpgPath = "/opt/homebrew/bin/gpg";
|
||||||
|
key = "C3DE5DF6198DACBD";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
extraConfig.init.defaultBranch = "master";
|
||||||
|
extraConfig.core.autocrlf = false;
|
||||||
|
package = pkgs.gitAndTools.gitFull;
|
||||||
|
userName = "willemml";
|
||||||
|
userEmail = "willem@leit.so";
|
||||||
|
};
|
||||||
|
}
|
17
configs/gpg.nix
Normal file
17
configs/gpg.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.gpg = {
|
||||||
|
enable = true;
|
||||||
|
homedir = "${config.home.homeDirectory}/.gnupg";
|
||||||
|
settings = {
|
||||||
|
use-agent = true;
|
||||||
|
default-key = "860B5C62BF1FCE4272D26BF8C3DE5DF6198DACBD";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = false;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
pinentryFlavor = "mac";
|
||||||
|
};
|
||||||
|
}
|
8
configs/main.nix
Normal file
8
configs/main.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./emacs.nix
|
||||||
|
./git.nix
|
||||||
|
./gpg.nix
|
||||||
|
./zsh.nix
|
||||||
|
];
|
||||||
|
}
|
1664
configs/p10k-config/p10k.zsh
Normal file
1664
configs/p10k-config/p10k.zsh
Normal file
File diff suppressed because it is too large
Load diff
41
configs/zsh.nix
Normal file
41
configs/zsh.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
enableSyntaxHighlighting = true;
|
||||||
|
enableVteIntegration = true;
|
||||||
|
autocd = true;
|
||||||
|
defaultKeymap = "emacs";
|
||||||
|
dirHashes = {
|
||||||
|
docs = "$HOME/Documents";
|
||||||
|
appsup = "$HOME/Library/Application Support";
|
||||||
|
dls = "$HOME/Downloads";
|
||||||
|
ubc = "$HOME/Documents/school/ubc";
|
||||||
|
};
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
history = {
|
||||||
|
path = "$HOME/.local/zsh/history";
|
||||||
|
extended = true;
|
||||||
|
ignoreDups = true;
|
||||||
|
};
|
||||||
|
plugins = with pkgs; [
|
||||||
|
{
|
||||||
|
name = "powerlevel10k";
|
||||||
|
src = pkgs.zsh-powerlevel10k;
|
||||||
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "powerlevel10k-config";
|
||||||
|
src = lib.cleanSource ./p10k-config;
|
||||||
|
file = "p10k.zsh";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
34
home.nix
Normal file
34
home.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./configs/main.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "22.05";
|
||||||
|
|
||||||
|
home.username = "willem";
|
||||||
|
home.homeDirectory = "/Users/willem";
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
package = pkgs.nix;
|
||||||
|
settings.experimental-features = [ "nix-command" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
htop
|
||||||
|
wget
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
];
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue