feat(gs/home): Integrate home-manager with depot

Essentially the same as for nixos, so I can get whitby to compile stuff
for me. Eventually I'll generalize this so things aren't as hardcoded to
my particular setup, but for now I'm the only one in the depot who's
using home-manager so this should be fine.

Change-Id: I1cb0344f5a11eea68bddc98976999c0928dfa84e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/937
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
Griffin Smith 2020-07-06 10:32:41 -04:00 committed by glittershark
parent ae16a8e9cf
commit cc12188d31
14 changed files with 67 additions and 42 deletions

View file

@ -99,9 +99,11 @@ in lib.fix (self: {
];
glittershark = with depot.users.glittershark; [
(systemFor system.system.chupacabra)
xanthous
keyboard.layout
owothia
(systemFor system.system.chupacabra)
system.home.chupacabra.activationPackage
];
})

View file

@ -0,0 +1,26 @@
{ pkgs, depot, lib, ... }:
with lib;
rec {
nixpkgs = import pkgs.nixpkgsSrc {};
home-manager = (fetchTarball {
url = "https://github.com/rycee/home-manager/archive/5f189acce44dc39ea4055bfd8064adaf90d7fb5a.tar.gz";
sha256 = "0ibmvg3k9m9yzh8ln3jlh47nrvgg81iy8gpl112wjimlp6gagxw6";
});
home = confPath: import "${home-manager}/modules" {
pkgs = nixpkgs;
configuration = { config, lib, ... }: {
imports = [confPath];
_module.args.pkgs = mkForce
(import pkgs.nixpkgsSrc (filterAttrs (n: v: v != null) config.nixpkgs));
lib.depot = depot;
};
};
chupacabra = home ./machines/chupacabra.nix;
}

View file

@ -1,4 +1,7 @@
{ pkgs, ... }:
{ pkgs, lib, config, ... }:
with lib;
let
laptopKeyboardId = "25";
in {
@ -7,12 +10,13 @@ in {
../modules/common.nix
../modules/games.nix
../modules/rtlsdr.nix
~/code/urb/urbos/home
../modules/urbint.nix
];
# for when hacking
programs.home-manager.path = "/home/grfn/code/home-manager";
programs.home-manager.enable = true;
home.stateVersion = "19.09";
system.machine = {
wirelessInterface = "wlp59s0";
@ -40,6 +44,4 @@ in {
);
};
};
urbint.projectPath = "code/urb";
}

View file

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
let alsi = pkgs.callPackage ~/code/system/pkgs/alsi {};
let alsi = pkgs.callPackage ../../pkgs/alsi {};
in
{
home.packages = [ alsi ];

View file

@ -22,8 +22,6 @@
path = ".local/share/password-store";
};
urbint.projectPath = "code/urb";
home.packages = with pkgs; [
# System utilities
bat

View file

@ -46,14 +46,14 @@ with lib;
gnumake
inetutils
loc
(import <nixpkgs-unstable> {}).jsonnet
jsonnet
clj2nix
pg-dump-upsert
(import ../pkgs/clang-tools { inherit pkgs; })
] ++ optional (stdenv.isLinux) julia;
config.lib.depot.third_party.clang-tools
]; # ++ optional (stdenv.isLinux) julia;
programs.git = {
enable = true;

View file

@ -1,10 +1,7 @@
{ config, lib, pkgs, ... }:
let
nixpkgs-unstable = import <nixpkgs-unstable> {};
agda-categories = with nixpkgs-unstable.agdaPackages; mkDerivation rec {
agda-categories = with pkgs.agdaPackages; mkDerivation rec {
pname = "agda-categories";
version = "2128fab";
src = pkgs.fetchFromGitHub {
@ -25,7 +22,7 @@ in
];
home.packages = with pkgs; [
(nixpkgs-unstable.agda.withPackages
(pkgs.agda.withPackages
(p: with p; [
p.standard-library

View file

@ -1,13 +1,10 @@
{ config, lib, pkgs, ... }:
let
pkgs-unstable = import <nixpkgs-unstable> {};
in
{
home.packages = with pkgs; [
kubectl
kubetail
sops
pkgs-unstable.kubie
kubie
# pkgs-unstable.argocd # provided by urbos
];

View file

@ -10,12 +10,11 @@ let
# # and packages.el files
# };
depot = config.lib.depot;
in {
imports = [
./lib/cloneRepo.nix
./lib/depot.nix
];
# home.packages = [ doom-emacs ];

View file

@ -40,6 +40,7 @@ in {
rofi-pass
python38Packages.py3status
i3lock
i3status
dconf # for gtk
# Screenshots

View file

@ -1,5 +0,0 @@
{ config, lib, pkgs, ... }:
{
lib.depot = import ~/code/depot {};
}

View file

@ -0,0 +1,9 @@
{ config, lib, pkgs, ... }:
if lib.pathExists (~/code/urb/urbos)
then {
imports =
[ ~/code/urb/urbos/home ];
urbint.projectPath = "code/urb";
} else {}

View file

@ -20,7 +20,6 @@ in
../modules/shell.nix
../modules/tarsnap.nix
../modules/vim.nix
../modules/lib/depot.nix
];
xsession.enable = true;
@ -84,12 +83,12 @@ in
];
};
programs.tarsnap = {
enable = true;
keyfile = "/home/grfn/.private/tarsnap.key";
printStats = true;
humanizeNumbers = true;
};
# programs.tarsnap = {
# enable = true;
# keyfile = "/home/grfn/.private/tarsnap.key";
# printStats = true;
# humanizeNumbers = true;
# };
programs.zsh.initExtra = ''
[[ ! $IN_NIX_SHELL ]] && alsi -l

View file

@ -7,12 +7,12 @@
libinput.enable = true;
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
i3status
i3lock
];
};
# windowManager.i3 = {
# enable = true;
# extraPackages = with pkgs; [
# i3status
# i3lock
# ];
# };
};
}