Reorganize for zfs
This commit is contained in:
parent
2933964680
commit
cfb48de40c
57 changed files with 817 additions and 492 deletions
6
configurations/adb.nix
Normal file
6
configurations/adb.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.adb.enable = true;
|
||||
users.users.charlotte.extraGroups = [ "adbusers" ];
|
||||
}
|
|
@ -1,6 +1,11 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".local/share/direnv"; type = "cache"; }
|
||||
{ path = ".cache/lorri"; type = "cache"; }
|
||||
];
|
||||
|
||||
home-manager.users.charlotte = { ... }: {
|
||||
programs.direnv = {
|
||||
enable = true;
|
13
configurations/docker.nix
Normal file
13
configurations/docker.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.systemLinks = [
|
||||
{ path = "/var/lib/docker"; type = "cache"; }
|
||||
{ path = "/var/lib/docker/volumes"; type = "data"; }
|
||||
];
|
||||
virtualisation.docker.enable = true;
|
||||
users.users.charlotte.extraGroups = [
|
||||
"docker"
|
||||
];
|
||||
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".dropbox"; type = "data"; }
|
||||
{ path = "Dropbox"; type = "data"; }
|
||||
];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
systemd.user.services = {
|
||||
dropbox = {
|
10
configurations/eid.nix
Normal file
10
configurations/eid.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.pcscd = {
|
||||
enable = true;
|
||||
plugins = [ pkgs.ccid ];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ eid-mw ];
|
||||
}
|
10
configurations/firefox.nix
Normal file
10
configurations/firefox.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ ... }: {
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [ firefox ];
|
||||
};
|
||||
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".cache/mozilla"; type = "cache"; }
|
||||
{ path = ".mozilla"; type = "data"; }
|
||||
];
|
||||
}
|
25
configurations/fonts.nix
Normal file
25
configurations/fonts.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts = {
|
||||
enableFontDir = true;
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
monospace = [ "Fira Code" ];
|
||||
sansSerif = [ "Noto Sans" ];
|
||||
serif = [ "Noto Serif" ];
|
||||
};
|
||||
};
|
||||
fonts = with pkgs; [
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
font-awesome_4
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
noto-fonts-extra
|
||||
];
|
||||
};
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
enable = true;
|
||||
extraConfig = {
|
||||
branch = {
|
||||
setupautorebase = "always";
|
||||
autosetuprebase = "always";
|
||||
};
|
||||
};
|
||||
ignores = [
|
22
configurations/gnupg.nix
Normal file
22
configurations/gnupg.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".gnupg/crls.d"; type = "data"; }
|
||||
{ path = ".gnupg/private-keys-v1.d"; type = "data"; }
|
||||
{ path = ".gnupg/pubring.kbx"; type = "data"; }
|
||||
{ path = ".gnupg/trustdb.gpg"; type = "data"; }
|
||||
];
|
||||
programs.gnupg.agent.enable = true;
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
programs = {
|
||||
gpg.enable = true;
|
||||
};
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
defaultCacheTtl = 7200;
|
||||
maxCacheTtl = 99999;
|
||||
pinentryFlavor = "qt";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,11 +1,10 @@
|
|||
with import <nixpkgs> { };
|
||||
{ ... }:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
launcher = import ../sway/launcher.nix { inherit pkgs stdenv; };
|
||||
status-configuration = import ../sway/status-configuration.nix { inherit pkgs; };
|
||||
launcher = import ./sway/launcher.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
||||
status-configuration = import ./sway/status-configuration.nix { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
imports = [ ../base-x/default.nix ];
|
||||
imports = [ ./base-x.nix ];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
xsession = {
|
||||
windowManager.i3 = {
|
12
configurations/joplin.nix
Normal file
12
configurations/joplin.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [ joplin-desktop ];
|
||||
};
|
||||
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".config/joplin-desktop"; type = "data"; }
|
||||
{ path = ".config/Joplin"; type = "data"; }
|
||||
];
|
||||
}
|
6
configurations/kernel.nix
Normal file
6
configurations/kernel.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# Use latest kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
}
|
15
configurations/locale.nix
Normal file
15
configurations/locale.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
i18n = {
|
||||
defaultLocale = "en_IE.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_TIME = "en_GB.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "us";
|
||||
};
|
||||
}
|
41
configurations/mounts.nix
Normal file
41
configurations/mounts.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./mounts/secret.nix ];
|
||||
|
||||
environment.systemPackages = [ pkgs.keyutils ];
|
||||
# Remove this once https://github.com/NixOS/nixpkgs/issues/34638 is resolved
|
||||
# The TL;DR is: the kernel calls out to the hard-coded path of
|
||||
# /sbin/request-key as part of its CIFS auth process, which of course does
|
||||
# not exist on NixOS due to the usage of Nix store paths.
|
||||
system.activationScripts.symlink-requestkey = ''
|
||||
if [ ! -d /sbin ]; then
|
||||
mkdir /sbin
|
||||
fi
|
||||
ln -sfn /run/current-system/sw/bin/request-key /sbin/request-key
|
||||
'';
|
||||
# request-key expects a configuration file under /etc
|
||||
environment.etc."request-key.conf" = {
|
||||
text =
|
||||
let
|
||||
upcall = "${pkgs.cifs-utils}/bin/cifs.upcall";
|
||||
keyctl = "${pkgs.keyutils}/bin/keyctl";
|
||||
in
|
||||
''
|
||||
#OP TYPE DESCRIPTION CALLOUT_INFO PROGRAM
|
||||
# -t is required for DFS share servers...
|
||||
create cifs.spnego * * ${upcall} -t %k
|
||||
create dns_resolver * * ${upcall} %k
|
||||
# Everything below this point is essentially the default configuration,
|
||||
# modified minimally to work under NixOS. Notably, it provides debug
|
||||
# logging.
|
||||
create user debug:* negate ${keyctl} negate %k 30 %S
|
||||
create user debug:* rejected ${keyctl} reject %k 30 %c %S
|
||||
create user debug:* expired ${keyctl} reject %k 30 %c %S
|
||||
create user debug:* revoked ${keyctl} reject %k 30 %c %S
|
||||
create user debug:loop:* * |${pkgs.coreutils}/bin/cat
|
||||
create user debug:* * ${pkgs.keyutils}/share/keyutils/request-key-debug.sh %k %d %c %S
|
||||
negate * * * ${keyctl} negate %k 30 %S
|
||||
'';
|
||||
};
|
||||
}
|
BIN
configurations/mounts/secret.nix
Normal file
BIN
configurations/mounts/secret.nix
Normal file
Binary file not shown.
|
@ -20,11 +20,16 @@ let
|
|||
};
|
||||
};
|
||||
};
|
||||
jdtls = import ../../packages/jdtls/default.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
||||
kotlinls = import ../../packages/kotlin-language-server/default.nix { inherit pkgs; };
|
||||
nodePackages = import ../../packages/node/default.nix { inherit pkgs; };
|
||||
jdtls = import ../packages/jdtls/default.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
||||
kotlinls = import ../packages/kotlin-language-server/default.nix { inherit pkgs; };
|
||||
nodePackages = import ../packages/node/default.nix { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".local/share/nvim"; type = "cache"; }
|
||||
{ path = ".cache/nvim"; type = "cache"; }
|
||||
];
|
||||
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = [
|
||||
(
|
||||
|
@ -42,11 +47,11 @@ in
|
|||
|
||||
" Undo over sessions
|
||||
set undofile
|
||||
set undodir=~/.cache/nvimundo
|
||||
set undodir=~/.cache/nvim/undo
|
||||
|
||||
" Automatically save sessions on exit and load them on start
|
||||
function! MakeSession()
|
||||
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
||||
let b:sessiondir = $HOME . "/.local/share/nvim/sessions" . getcwd()
|
||||
if (filewritable(b:sessiondir) != 2)
|
||||
exe 'silent !mkdir -p ' b:sessiondir
|
||||
redraw!
|
||||
|
@ -56,7 +61,7 @@ in
|
|||
endfunction
|
||||
|
||||
function! LoadSession()
|
||||
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
||||
let b:sessiondir = $HOME . "/.local/share/nvim/sessions" . getcwd()
|
||||
let b:sessionfile = b:sessiondir . "/session.vim"
|
||||
if (filereadable(b:sessionfile))
|
||||
exe 'source ' b:sessionfile
|
25
configurations/networkmanager.nix
Normal file
25
configurations/networkmanager.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
custom.zfs.systemLinks = [
|
||||
{ path = "/etc/NetworkManager/system-connections"; type = "data"; }
|
||||
];
|
||||
|
||||
networking = {
|
||||
hosts = { "127.0.0.1" = [ "dodona.localhost" "sandbox.localhost" ]; };
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
packages = [ pkgs.networkmanager-vpnc ];
|
||||
wifi.macAddress = "random";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.charlotte.extraGroups = [
|
||||
"networkmanager"
|
||||
];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
networkmanagerapplet
|
||||
];
|
||||
};
|
||||
}
|
36
configurations/nix-index.nix
Normal file
36
configurations/nix-index.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".cache/nix-index"; type = "cache"; }
|
||||
];
|
||||
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
nix-index
|
||||
];
|
||||
systemd.user = {
|
||||
services.nix-index = {
|
||||
Unit = {
|
||||
Description = "Service to run nix-index";
|
||||
};
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.nix-index}/bin/nix-index";
|
||||
};
|
||||
};
|
||||
timers.nix-index = {
|
||||
Unit = {
|
||||
Description = "Timer that starts nix-index every two hours";
|
||||
PartOf = [ "nix-index.service" ];
|
||||
};
|
||||
Timer = {
|
||||
OnCalendar = "00/2:30";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
25
configurations/nix-store.nix
Normal file
25
configurations/nix-store.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "hourly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
optimise = {
|
||||
automatic = true;
|
||||
dates = [ "hourly" ];
|
||||
};
|
||||
};
|
||||
|
||||
system.autoUpgrade = {
|
||||
allowReboot = false;
|
||||
enable = true;
|
||||
dates = "hourly";
|
||||
};
|
||||
|
||||
home-manager.users.charlotte = { ... }: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
};
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [ ../base-x/default.nix ];
|
||||
imports = [ ./base-x.nix ];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
xdg.configFile."openbox/rc.xml".source = ./rc.xml;
|
||||
xdg.configFile."openbox/rc.xml".source = ./openbox/rc.xml;
|
||||
xsession = {
|
||||
windowManager.command = "${pkgs.openbox}/bin/openbox";
|
||||
initExtra = ''
|
15
configurations/sound.nix
Normal file
15
configurations/sound.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.systemLinks = [
|
||||
{ path = "/var/lib/pulse"; type = "data"; }
|
||||
];
|
||||
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
systemWide = true;
|
||||
};
|
||||
|
||||
users.users.charlotte.extraGroups = [ "audio" ];
|
||||
}
|
|
@ -1,7 +1,16 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { ... }: {
|
||||
imports = [ ./ssh/secret.nix ];
|
||||
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".ssh/known_hosts"; type = "cache"; }
|
||||
];
|
||||
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
ssh
|
||||
];
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
compression = true;
|
BIN
configurations/ssh/secret.nix
Normal file
BIN
configurations/ssh/secret.nix
Normal file
Binary file not shown.
|
@ -1,16 +1,12 @@
|
|||
with import <nixpkgs> { };
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
firefox = import ../../programs/firefox/default.nix { inherit pkgs; };
|
||||
launcher = import ./launcher.nix { inherit pkgs stdenv; };
|
||||
color-picker = import ./color-picker.nix { inherit pkgs; };
|
||||
screenshot = import ./screenshot.nix { inherit pkgs; };
|
||||
status-configuration = import ./status-configuration.nix { inherit pkgs; };
|
||||
launcher = import ./sway/launcher.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
||||
color-picker = import ./sway/color-picker.nix { inherit pkgs; };
|
||||
screenshot = import ./sway/screenshot.nix { inherit pkgs; };
|
||||
status-configuration = import ./sway/status-configuration.nix { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./kanshi.nix
|
||||
];
|
||||
imports = [ ./sway/kanshi.nix ];
|
||||
programs = {
|
||||
sway = {
|
||||
enable = true;
|
||||
|
@ -92,7 +88,7 @@ in
|
|||
### Startup programs
|
||||
#
|
||||
workspace 1
|
||||
exec ${firefox}/bin/firefox
|
||||
exec ${pkgs.firefox}/bin/firefox
|
||||
workspace 3
|
||||
exec ${pkgs.thunderbird}/bin/thunderbird
|
||||
workspace 4
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, stdenv }:
|
||||
let
|
||||
pass = import ../../programs/pass/default.nix { inherit pkgs; };
|
||||
gemoji = pkgs.buildRubyGem {
|
||||
pname = "gemoji";
|
||||
gemName = "gemoji";
|
||||
|
@ -74,16 +73,16 @@ pkgs.writeScriptBin "launcher" ''
|
|||
echo $passfile
|
||||
case $option in
|
||||
username)
|
||||
swaymsg exec -- "${pass}/bin/pass show '$passfile' | sed -n 's/^Username: *//p' | tr -d '\n' | ${pkgs.wl-clipboard}/bin/wl-copy --foreground"
|
||||
swaymsg exec -- "${pkgs.pass}/bin/pass show '$passfile' | sed -n 's/^Username: *//p' | tr -d '\n' | ${pkgs.wl-clipboard}/bin/wl-copy --foreground"
|
||||
;;
|
||||
password)
|
||||
swaymsg exec -- "${pass}/bin/pass show -c0 '$passfile'"
|
||||
swaymsg exec -- "${pkgs.pass}/bin/pass show -c0 '$passfile'"
|
||||
;;
|
||||
otp)
|
||||
swaymsg exec -- "${pass}/bin/pass otp -c '$passfile'"
|
||||
swaymsg exec -- "${pkgs.pass}/bin/pass otp -c '$passfile'"
|
||||
;;
|
||||
edit)
|
||||
${pass}/bin/pass edit "$passfile"
|
||||
${pkgs.pass}/bin/pass edit "$passfile"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
|
11
configurations/syncthing.nix
Normal file
11
configurations/syncthing.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".config/syncthing"; type = "data"; }
|
||||
{ path = "sync"; type = "data"; }
|
||||
];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
services.syncthing.enable = true;
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
services.syncthing.enable = true;
|
||||
};
|
||||
}
|
11
configurations/teams.nix
Normal file
11
configurations/teams.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [ teams ];
|
||||
};
|
||||
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".config/Microsoft"; type = "data"; }
|
||||
];
|
||||
}
|
47
configurations/themes.nix
Normal file
47
configurations/themes.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = [ pkgs.vanilla-dmz ];
|
||||
home.file = {
|
||||
".icons/default/index.theme".text = ''
|
||||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Vanilla-DMZ
|
||||
'';
|
||||
};
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
gtk-theme = "Arc";
|
||||
icon-theme = "Arc";
|
||||
cursor-theme = "Vanilla-DMZ";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
package = pkgs.noto-fonts;
|
||||
name = "Noto Sans 10";
|
||||
};
|
||||
gtk2.extraConfig = ''
|
||||
gtk-cursor-theme-name = "Vanilla-DMZ"
|
||||
gtk-cursor-theme-size = 0
|
||||
'';
|
||||
gtk3.extraConfig = {
|
||||
gtk-cursor-theme-name = "Vanilla-DMZ";
|
||||
gtk-cursor-theme-size = 0;
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.arc-icon-theme;
|
||||
name = "Arc";
|
||||
};
|
||||
theme = {
|
||||
package = pkgs.arc-theme;
|
||||
name = "Arc";
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
};
|
||||
};
|
||||
}
|
12
configurations/thunderbird.nix
Normal file
12
configurations/thunderbird.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [ thunderbird ];
|
||||
};
|
||||
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".cache/thunderbird"; type = "cache"; }
|
||||
{ path = ".thunderbird"; type = "data"; }
|
||||
];
|
||||
}
|
|
@ -17,8 +17,8 @@
|
|||
tmuxinator.enable = true;
|
||||
};
|
||||
xdg.configFile = {
|
||||
"tmuxinator/accentor.yml".source = ./accentor.yml;
|
||||
"tmuxinator/dodona.yml".source = ./dodona.yml;
|
||||
"tmuxinator/accentor.yml".source = ./tmux/accentor.yml;
|
||||
"tmuxinator/dodona.yml".source = ./tmux/dodona.yml;
|
||||
};
|
||||
};
|
||||
}
|
23
configurations/users.nix
Normal file
23
configurations/users.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./users/secret.nix ];
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
defaultUserShell = pkgs.zsh;
|
||||
users = {
|
||||
charlotte = {
|
||||
isNormalUser = true;
|
||||
home = "/home/charlotte";
|
||||
description = "Charlotte Van Petegem";
|
||||
extraGroups = [
|
||||
"input"
|
||||
"systemd-journal"
|
||||
"video"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
BIN
configurations/users/secret.nix
Normal file
BIN
configurations/users/secret.nix
Normal file
Binary file not shown.
32
configurations/xdg-dirs.nix
Normal file
32
configurations/xdg-dirs.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = "desktop"; type = "data"; }
|
||||
{ path = "documents"; type = "data"; }
|
||||
{ path = "downloads"; type = "data"; }
|
||||
{ path = "music"; type = "data"; }
|
||||
{ path = "pictures"; type = "data"; }
|
||||
{ path = "repos"; type = "data"; }
|
||||
{ path = "templates"; type = "data"; }
|
||||
{ path = "videos"; type = "data"; }
|
||||
];
|
||||
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [ xdg-user-dirs ];
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
desktop = "\$HOME/desktop";
|
||||
documents = "\$HOME/documents";
|
||||
download = "\$HOME/downloads";
|
||||
music = "\$HOME/music";
|
||||
pictures = "\$HOME/pictures";
|
||||
publicShare = "\$HOME/desktop";
|
||||
templates = "\$HOME/templates";
|
||||
videos = "\$HOME/videos";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
custom.zfs.homeLinks = [
|
||||
{ path = ".local/share/autojump"; type = "cache"; }
|
||||
{ path = ".local/share/zsh"; type = "cache"; }
|
||||
];
|
||||
home-manager.users.charlotte = { pkgs, ... }: {
|
||||
home.packages = [ pkgs.autojump ];
|
||||
programs.zsh = {
|
||||
|
@ -10,7 +14,7 @@
|
|||
dotDir = ".config/zsh";
|
||||
history = {
|
||||
expireDuplicatesFirst = true;
|
||||
path = "\$HOME/.config/zsh/zsh_history";
|
||||
path = "\$HOME/.local/share/zsh/history";
|
||||
};
|
||||
initExtra = ''
|
||||
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
|
Loading…
Add table
Add a link
Reference in a new issue