-
Notifications
You must be signed in to change notification settings - Fork 0
/
configuration.nix
111 lines (104 loc) · 3.61 KB
/
configuration.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{ lib, pkgs, config, modulesPath, ... }:
with lib;
let
nixos-wsl = import ./nixos-wsl;
in
{
imports = [
"${modulesPath}/profiles/minimal.nix"
nixos-wsl.nixosModules.wsl
# Fetch the nix-ified VSCode Server
(fetchTarball "https://github.com/msteen/nixos-vscode-server/tarball/master")
];
# Enable the nix-ified VSCode Server
services.vscode-server.enable = true;
nixpkgs.config.allowUnfree = true;
system.stateVersion = "3";
wsl = {
enable = true;
automountPath = "/mnt";
defaultUser = "srush";
startMenuLaunchers = true;
# Enable integration with Docker Desktop (needs to be installed)
# docker.enable = true;
};
# Enable nix flakes
nix.package = pkgs.nixFlakes;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
# Enable zsh at the system level and set it as default
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
# Set up our user
users.users.srush = {
isNormalUser = true;
home = "/home/srush";
description = "Shannon Rush";
extraGroups = [ "wheel" ];
};
home-manager.users.srush = { pkgs, ... }: {
home.packages = with pkgs; [
fzf
git
google-cloud-sdk
kubectl
kubectx
nodejs
taskwarrior
tmux
vim
wget
zplug
zsh
];
programs.zsh.enable = true;
programs.starship = {
enable = true;
enableZshIntegration = true;
package = pkgs.starship;
settings = {
# Don't print a new line at the start of the prompt
add_newline = false;
# Set up our kubernetes prompt
kubernetes.format = "[$symbol$context\($namespace\)](dimmed green) ";
kubernetes.disabled = false;
kubernetes.context_aliases."dev.local.cluster.k8s" = "dev";
# Set up our taskwarrior inbox count
custom.task_inbox.description = "Task Inbox Count";
custom.task_inbox.when = "[ 'task +in +PENDING count' == '0' ] && exit 1 || exit 0 ";
custom.task_inbox.command = "task +in +PENDING count";
custom.task_inbox.format = "$symbol[$output]($style) ";
custom.task_inbox.shell = "['bash', '--noprofile', '--norc'] ";
custom.task_inbox.symbol = "📥 ";
custom.task_inbox.style = "bold fg:green";
# Set up our gcloud prompt
gcloud.format = "on [$symbol$account(\($project@$region\))]($style) ";
gcloud.symbol = "☁️ ";
gcloud.region_aliases.us-central1 = "usc1";
gcloud.region_aliases.us-east1 = "use1";
gcloud.region_aliases.us-east4 = "use4";
gcloud.region_aliases.us-west1 = "usw1";
gcloud.region_aliases.us-west2 = "usw2";
gcloud.region_aliases.us-west3 = "usw3";
gcloud.region_aliases.us-west4 = "usw4";
gcloud.region_aliases.northamerica-northeast1 = "nane1";
gcloud.region_aliases.southamerica-east1 = "sae1";
gcloud.region_aliases.europe-north1 = "eun1";
gcloud.region_aliases.europe-west1 = "euw1";
gcloud.region_aliases.europe-west2 = "euw2";
gcloud.region_aliases.europe-west3 = "euw3";
gcloud.region_aliases.europe-west4 = "euw4";
gcloud.region_aliases.europe-west6 = "euw6";
gcloud.region_aliases.asia-south1 = "as1";
gcloud.region_aliases.asia-southeast1 = "ase1";
gcloud.region_aliases.asia-southeast2 = "ase2";
gcloud.region_aliases.asia-east1 = "ae1";
gcloud.region_aliases.asia-east2 = "ae2";
gcloud.region_aliases.asia-northeast1 = "ane1";
gcloud.region_aliases.asia-northeast2 = "ane2";
gcloud.region_aliases.asia-northeast3 = "ane3";
};
};
};
}