Testing nix flakes
This commit is contained in:
parent
2bf8a90f29
commit
81fc7d3461
5 changed files with 209 additions and 1 deletions
|
@ -7,6 +7,9 @@
|
|||
# NixOS Packages / Options:
|
||||
# https://search.nixos.org/packages?
|
||||
|
||||
# Other things to consider:
|
||||
# Telegraf
|
||||
|
||||
{ config, pkgs, ... }: {
|
||||
imports =
|
||||
[
|
||||
|
@ -101,6 +104,15 @@
|
|||
autorun = true;
|
||||
};
|
||||
|
||||
# Enable nVidia PRIME Render Offload
|
||||
# https://github.com/NixOS/nixos-hardware/blob/master/lenovo/thinkpad/p1/3th-gen/nvidia.nix
|
||||
hardware.nvidia.prime = {
|
||||
# Bus ID of the Intel GPU.
|
||||
intelBusId = lib.mkDefault "PCI:0:2:0";
|
||||
# Bus ID of the NVIDIA GPU.
|
||||
nvidiaBusId = lib.mkDefault "PCI:1:0:0";
|
||||
};
|
||||
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
|
@ -130,6 +142,13 @@
|
|||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Enable flakes: https://nixos.wiki/wiki/Flakes
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
134
laptop/home-manager/dotfiles/git.nix
Normal file
134
laptop/home-manager/dotfiles/git.nix
Normal file
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "albert";
|
||||
userEmail = "albert@sysctl.io";
|
||||
extraConfig = {
|
||||
credential.helper = "cache --timeout=25920000";
|
||||
alias.a = "add --all";
|
||||
alias.ai = "add -i";
|
||||
alias.ap = "apply";
|
||||
alias.as = "apply --stat";
|
||||
alias.ac = "apply --check";
|
||||
alias.ama = "am --abort";
|
||||
alias.amr = "am --resolved";
|
||||
alias.ams = "am --skip";
|
||||
alias.b = "branch";
|
||||
alias.ba = "branch -a";
|
||||
alias.bd = "branch -d";
|
||||
alias.bdd = "branch -D";
|
||||
alias.br = "branch -r";
|
||||
alias.bc = "rev-parse --abbrev-ref HEAD";
|
||||
alias.c = "commit";
|
||||
alias.ca = "commit -a";
|
||||
alias.cm = "commit -m";
|
||||
alias.cam = "commit -am";
|
||||
alias.cem = "commit --allow-empty -m";
|
||||
alias.cd = "commit --amend";
|
||||
alias.cad = "commit -a --amend";
|
||||
alias.ced = "commit --allow-empty --amend";
|
||||
alias.cl = "clone";
|
||||
alias.cld = "clone --depth 1";
|
||||
alias.cp = "cherry-pick";
|
||||
alias.cpa = "cherry-pick --abort";
|
||||
alias.cpc = "cherry-pick --continue";
|
||||
alias.d = "diff";
|
||||
alias.dp = "diff --patience";
|
||||
alias.dc = "diff --cached";
|
||||
alias.dk = "diff --check";
|
||||
alias.dck = "diff --cached --check";
|
||||
alias.dt = "difftool";
|
||||
alias.dct = "difftool --cached";
|
||||
alias.f = "fetch";
|
||||
alias.fo = "fetch origin";
|
||||
alias.fu = "fetch upstream";
|
||||
alias.fp = "format-patch";
|
||||
alias.fk = "fsck";
|
||||
alias.g = "grep -p";
|
||||
alias.l = "log --oneline";
|
||||
alias.lg = "log --oneline --graph --decorate";
|
||||
alias.ls = "ls-files";
|
||||
alias.lsf = "!git ls-files | grep -i";
|
||||
alias.m = "merge";
|
||||
alias.ma = "merge --abort";
|
||||
alias.mc = "merge --continue";
|
||||
alias.ms = "merge --skip";
|
||||
alias.o = "checkout";
|
||||
alias.ob = "checkout -b";
|
||||
alias.pr = "prune -v";
|
||||
alias.ps = "push";
|
||||
alias.psf = "push -f";
|
||||
alias.psu = "push -u";
|
||||
alias.pst = "push --tags";
|
||||
alias.pso = "push origin";
|
||||
alias.psao = "push --all origin";
|
||||
alias.psfo = "push -f origin";
|
||||
alias.psuo = "push -u origin";
|
||||
alias.psom = "push origin master";
|
||||
alias.psaom = "push --all origin master";
|
||||
alias.psfom = "push -f origin master";
|
||||
alias.psuom = "push -u origin master";
|
||||
alias.psoc = "!git push origin $(git bc)";
|
||||
alias.psaoc = "!git push --all origin $(git bc)";
|
||||
alias.psfoc = "!git push -f origin $(git bc)";
|
||||
alias.psuoc = "!git push -u origin $(git bc)";
|
||||
alias.psdc = "!git push origin :$(git bc)";
|
||||
alias.pl = "pull";
|
||||
alias.pb = "pull --rebase";
|
||||
alias.plo = "pull origin";
|
||||
alias.pbo = "pull --rebase origin";
|
||||
alias.plom = "pull origin master";
|
||||
alias.ploc = "!git pull origin $(git bc)";
|
||||
alias.pbom = "pull --rebase origin master";
|
||||
alias.pboc = "!git pull --rebase origin $(git bc)";
|
||||
alias.plu = "pull upstream";
|
||||
alias.plum = "pull upstream master";
|
||||
alias.pluc = "!git pull upstream $(git bc)";
|
||||
alias.pbum = "pull --rebase upstream master";
|
||||
alias.pbuc = "!git pull --rebase upstream $(git bc)";
|
||||
alias.rb = "rebase";
|
||||
alias.rba = "rebase --abort";
|
||||
alias.rbc = "rebase --continue";
|
||||
alias.rbi = "rebase --interactive";
|
||||
alias.rbs = "rebase --skip";
|
||||
alias.re = "reset";
|
||||
alias.rh = "reset HEAD";
|
||||
alias.reh = "reset --hard";
|
||||
alias.rem = "reset --mixed";
|
||||
alias.res = "reset --soft";
|
||||
alias.rehh = "reset --hard HEAD";
|
||||
alias.remh = "reset --mixed HEAD";
|
||||
alias.resh = "reset --soft HEAD";
|
||||
alias.r = "remote";
|
||||
alias.ra = "remote add";
|
||||
alias.rr = "remote rm";
|
||||
alias.rv = "remote -v";
|
||||
alias.rn = "remote rename";
|
||||
alias.rp = "remote prune";
|
||||
alias.rs = "remote show";
|
||||
alias.rao = "remote add origin";
|
||||
alias.rau = "remote add upstream";
|
||||
alias.rro = "remote remove origin";
|
||||
alias.rru = "remote remove upstream";
|
||||
alias.rso = "remote show origin";
|
||||
alias.rsu = "remote show upstream";
|
||||
alias.rpo = "remote prune origin";
|
||||
alias.rpu = "remote prune upstream";
|
||||
alias.rmf = "rm -f";
|
||||
alias.rmrf = "rm -r -f";
|
||||
alias.s = "status";
|
||||
alias.sb = "status -s -b";
|
||||
alias.sa = "stash apply";
|
||||
alias.sc = "stash clear";
|
||||
alias.sd = "stash drop";
|
||||
alias.sl = "stash list";
|
||||
alias.sp = "stash pop";
|
||||
alias.ss = "stash save";
|
||||
alias.sw = "stash show";
|
||||
alias.t = "tag";
|
||||
alias.td = "tag -d";
|
||||
alias.w = "show";
|
||||
alias.wp = "show -p";
|
||||
alias.wr = "show -p --no-color";
|
||||
};
|
||||
}
|
25
laptop/home-manager/dotfiles/vim.nix
Normal file
25
laptop/home-manager/dotfiles/vim.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
environment.systemPackages = [
|
||||
(pkgs.vim_configurable.customize {
|
||||
vimrcConfig.customRc = ''
|
||||
set nocompatible
|
||||
filetype on
|
||||
syntax on
|
||||
set number
|
||||
set cursorline
|
||||
set cursorcolumn
|
||||
set nowrap
|
||||
set expandtab
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set incsearch
|
||||
set ignorecase
|
||||
set hlsearch
|
||||
set history=1000
|
||||
set wildmenu
|
||||
set wildmode=list:longest
|
||||
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
26
laptop/home-manager/flake.nix
Normal file
26
laptop/home-manager/flake.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
description = "NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = inputs@{ nixpkgs, home-manager, ... }: {
|
||||
nixosConfigurations = {
|
||||
hostname = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = false;
|
||||
home-manager.users.albert = import ./home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
4
laptop/home-manager/home.nix
Normal file
4
laptop/home-manager/home.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
imports = [
|
||||
./dotfiles/git.nix
|
||||
./dotfiles/vim.nix
|
||||
];
|
Loading…
Reference in a new issue