A complete reformatting to match nixpkgs-fmt
This commit is contained in:
+21
-21
@@ -1,26 +1,26 @@
|
||||
{
|
||||
inputs,
|
||||
overlays,
|
||||
...
|
||||
{ inputs
|
||||
, overlays
|
||||
, ...
|
||||
}:
|
||||
|
||||
rec {
|
||||
greghellings =
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = (import inputs.nixunstable { inherit system overlays; });
|
||||
in inputs.hmunstable.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
nixvim = inputs.nixvimunstable;
|
||||
gui = false;
|
||||
gnome = false;
|
||||
host = "ivr";
|
||||
username = "gregory.hellings";
|
||||
};
|
||||
};
|
||||
greghellings =
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = (import inputs.nixunstable { inherit system overlays; });
|
||||
in
|
||||
inputs.hmunstable.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
nixvim = inputs.nixvimunstable;
|
||||
gui = false;
|
||||
gnome = false;
|
||||
host = "ivr";
|
||||
username = "gregory.hellings";
|
||||
};
|
||||
};
|
||||
|
||||
"gregory.hellings" = greghellings;
|
||||
"gregory.hellings" = greghellings;
|
||||
}
|
||||
|
||||
+44
-42
@@ -1,48 +1,50 @@
|
||||
{ pkgs, lib,
|
||||
host ? "most",
|
||||
nixvim,
|
||||
...}:
|
||||
{ pkgs
|
||||
, lib
|
||||
, host ? "most"
|
||||
, nixvim
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
nixpkgs.config.allowUnfreePredicate = (_: true);
|
||||
imports = [
|
||||
nixvim.homeManagerModules.default
|
||||
./modules
|
||||
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
|
||||
nixpkgs.config.allowUnfreePredicate = (_: true);
|
||||
imports = [
|
||||
nixvim.homeManagerModules.default
|
||||
./modules
|
||||
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
|
||||
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
terminal = "xterm-256color";
|
||||
customPaneNavigationAndResize = true;
|
||||
extraConfig = (lib.strings.concatStringsSep "\n" [
|
||||
"bind P paste-buffer"
|
||||
]);
|
||||
};
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
terminal = "xterm-256color";
|
||||
customPaneNavigationAndResize = true;
|
||||
extraConfig = (lib.strings.concatStringsSep "\n" [
|
||||
"bind P paste-buffer"
|
||||
]);
|
||||
};
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
home.packages = with pkgs; [
|
||||
bitwarden-cli
|
||||
copier
|
||||
diffutils
|
||||
findutils
|
||||
gh
|
||||
git
|
||||
gnupatch
|
||||
hms
|
||||
htop
|
||||
inetutils
|
||||
jq
|
||||
nano
|
||||
nix-prefetch
|
||||
nmap
|
||||
openssl
|
||||
setup-ssh
|
||||
tmux
|
||||
tree
|
||||
unzip
|
||||
wget
|
||||
zip
|
||||
];
|
||||
home.stateVersion = "23.05";
|
||||
home.packages = with pkgs; [
|
||||
bitwarden-cli
|
||||
copier
|
||||
diffutils
|
||||
findutils
|
||||
gh
|
||||
git
|
||||
gnupatch
|
||||
hms
|
||||
htop
|
||||
inetutils
|
||||
jq
|
||||
nano
|
||||
nix-prefetch
|
||||
nmap
|
||||
openssl
|
||||
setup-ssh
|
||||
tmux
|
||||
tree
|
||||
unzip
|
||||
wget
|
||||
zip
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
greg = {
|
||||
vscodium = true;
|
||||
development = true;
|
||||
gnome = true;
|
||||
gui = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
cargo
|
||||
freeciv
|
||||
#freeciv_qt
|
||||
];
|
||||
greg = {
|
||||
vscodium = true;
|
||||
development = true;
|
||||
gnome = true;
|
||||
gui = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
cargo
|
||||
freeciv
|
||||
#freeciv_qt
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
{ }
|
||||
|
||||
+62
-61
@@ -1,65 +1,66 @@
|
||||
{ pkgs, lib, inputs, ...}:
|
||||
{ pkgs, lib, inputs, ... }:
|
||||
let
|
||||
nix23 = import inputs.nix23_05 {
|
||||
inherit (pkgs.stdenv) system;
|
||||
overlays = [ inputs.self.overlays.default ];
|
||||
};
|
||||
py = nix23.python311.withPackages ( p: with p; [
|
||||
django
|
||||
djangorestframework
|
||||
django-rapyd-modernauth
|
||||
environs
|
||||
mysqlclient
|
||||
pyyaml
|
||||
ruamel-yaml
|
||||
tox
|
||||
]);
|
||||
x = pkgs.xonsh.override {
|
||||
extraPackages = (ps: [
|
||||
pkgs.nur.repos.xonsh-xontribs.xonsh-direnv
|
||||
pkgs.nur.repos.xonsh-xontribs.xontrib-vox
|
||||
ps.xonsh-apipenv
|
||||
pkgs.pipenv-ivr
|
||||
]);
|
||||
};
|
||||
in {
|
||||
greg = {
|
||||
development = true;
|
||||
gui = true;
|
||||
pypackage = py;
|
||||
vscodium = true;
|
||||
};
|
||||
nix23 = import inputs.nix23_05 {
|
||||
inherit (pkgs.stdenv) system;
|
||||
overlays = [ inputs.self.overlays.default ];
|
||||
};
|
||||
py = nix23.python311.withPackages (p: with p; [
|
||||
django
|
||||
djangorestframework
|
||||
django-rapyd-modernauth
|
||||
environs
|
||||
mysqlclient
|
||||
pyyaml
|
||||
ruamel-yaml
|
||||
tox
|
||||
]);
|
||||
x = pkgs.xonsh.override {
|
||||
extraPackages = (ps: [
|
||||
pkgs.nur.repos.xonsh-xontribs.xonsh-direnv
|
||||
pkgs.nur.repos.xonsh-xontribs.xontrib-vox
|
||||
ps.xonsh-apipenv
|
||||
pkgs.pipenv-ivr
|
||||
]);
|
||||
};
|
||||
in
|
||||
{
|
||||
greg = {
|
||||
development = true;
|
||||
gui = true;
|
||||
pypackage = py;
|
||||
vscodium = true;
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
];
|
||||
};
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
];
|
||||
};
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
aacs
|
||||
ansible
|
||||
bitwarden-cli
|
||||
direnv
|
||||
home-manager
|
||||
mysql-workbench
|
||||
pipenv-ivr
|
||||
poetry
|
||||
robo3t
|
||||
x
|
||||
];
|
||||
file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [
|
||||
"[global]"
|
||||
"retries = 1"
|
||||
"index-url = https://pypi.python.org/simple"
|
||||
"extra-index-url ="
|
||||
" https://pypi.ivrtechnology.com/simple/"
|
||||
" https://pypidev.ivrtechnology.com/simple/"
|
||||
]);
|
||||
username = "gregory.hellings";
|
||||
homeDirectory = lib.mkForce "/home/gregory.hellings";
|
||||
};
|
||||
programs.tmux.shell = (lib.getExe x);
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
aacs
|
||||
ansible
|
||||
bitwarden-cli
|
||||
direnv
|
||||
home-manager
|
||||
mysql-workbench
|
||||
pipenv-ivr
|
||||
poetry
|
||||
robo3t
|
||||
x
|
||||
];
|
||||
file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [
|
||||
"[global]"
|
||||
"retries = 1"
|
||||
"index-url = https://pypi.python.org/simple"
|
||||
"extra-index-url ="
|
||||
" https://pypi.ivrtechnology.com/simple/"
|
||||
" https://pypidev.ivrtechnology.com/simple/"
|
||||
]);
|
||||
username = "gregory.hellings";
|
||||
homeDirectory = lib.mkForce "/home/gregory.hellings";
|
||||
};
|
||||
programs.tmux.shell = (lib.getExe x);
|
||||
}
|
||||
|
||||
+12
-12
@@ -1,17 +1,17 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
(mumble.override { pulseSupport = true; })
|
||||
#logseq
|
||||
];
|
||||
greg = {
|
||||
development = true;
|
||||
gui = true;
|
||||
sway = false;
|
||||
gnome = true;
|
||||
vscodium = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
(mumble.override { pulseSupport = true; })
|
||||
#logseq
|
||||
];
|
||||
greg = {
|
||||
development = true;
|
||||
gui = true;
|
||||
sway = false;
|
||||
gnome = true;
|
||||
vscodium = true;
|
||||
};
|
||||
|
||||
programs.xonsh.sessionVariables.EFI_DIR = "${pkgs.OVMF.fd}/FV/";
|
||||
programs.xonsh.sessionVariables.EFI_DIR = "${pkgs.OVMF.fd}/FV/";
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
greg.vscodium.enable = true;
|
||||
greg.vscodium.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
brew
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
brew
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
home.file.".ansible.cfg".text = ''
|
||||
[defaults]
|
||||
forks=10
|
||||
host_key_checking=False
|
||||
# Also available: profile_roles
|
||||
callback_enabled=timer,profile_tasks
|
||||
stdout_callback=yaml
|
||||
nocows=1
|
||||
cow_selection=tux
|
||||
collections_path=~/src
|
||||
home.file.".ansible.cfg".text = ''
|
||||
[defaults]
|
||||
forks=10
|
||||
host_key_checking=False
|
||||
# Also available: profile_roles
|
||||
callback_enabled=timer,profile_tasks
|
||||
stdout_callback=yaml
|
||||
nocows=1
|
||||
cow_selection=tux
|
||||
collections_path=~/src
|
||||
|
||||
[ssh_connection]
|
||||
pipelining=True
|
||||
ssh_args = -o ControlMaster=auto -o ControlPersist=600s -o IdentitiesOnly=yes -o GSSAPIAuthentication=no -o StrictHostKeyChecking=no
|
||||
control_path=%(directory)s/%%h-%%r
|
||||
control_path_dir=/tmp
|
||||
[ssh_connection]
|
||||
pipelining=True
|
||||
ssh_args = -o ControlMaster=auto -o ControlPersist=600s -o IdentitiesOnly=yes -o GSSAPIAuthentication=no -o StrictHostKeyChecking=no
|
||||
control_path=%(directory)s/%%h-%%r
|
||||
control_path_dir=/tmp
|
||||
|
||||
[callback_profile_tasks]
|
||||
sort_order=descending
|
||||
[callback_profile_tasks]
|
||||
sort_order=descending
|
||||
|
||||
[galaxy]
|
||||
role_skeleton_ignore = ^.git$,^.*/.git_keep$,\..*.swp
|
||||
role_skeleton = ~/src/ansible_collections/meta_ansible_templates/role
|
||||
'';
|
||||
[galaxy]
|
||||
role_skeleton_ignore = ^.git$,^.*/.git_keep$,\..*.swp
|
||||
role_skeleton = ~/src/ansible_collections/meta_ansible_templates/role
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
acp = "rsync --progress -ah";
|
||||
agbuild = "ansible-galaxy collection build";
|
||||
apub = "ansible-galaxy collection publish --api-key \${GALAXY_API_KEY}";
|
||||
calc = "bc";
|
||||
d = "deactivate";
|
||||
devroles = "cd ~/src/ansible_collections/devroles";
|
||||
gohome = "ssh greg@dns.greg-hellings.gmail.com.beta.tailscale.net -D localhost:10080";
|
||||
ll = "ls -l";
|
||||
molcol = "molecule -c ../../tests/molecule.yml";
|
||||
packaging = "cd ~/src/packaging";
|
||||
vdown = "vagrant destroy";
|
||||
vhalt = "vagrant halt";
|
||||
vos = "vagrant up --provision --provider openstack";
|
||||
vprov = "vagrant provision";
|
||||
vssh = "vagrant ssh";
|
||||
vup = "vagrant up --provision --provider libvirt";
|
||||
yaml2js = "python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)";
|
||||
};
|
||||
sessionVariables = {
|
||||
ANSIBLE_COLLECTIONS_PATH="\${HOME}/src/";
|
||||
CLICOLOR = "1";
|
||||
EDITOR = "${pkgs.vim}/bin/vim";
|
||||
GIT_SSL_NO_VERIFY = "True";
|
||||
LSCOLORS = "ExGxBxDxCxEgEdxbxgxcxd";
|
||||
MAVEN_OPTS = " -Dmaven.wagon.http.ssl.insecure=true ";
|
||||
OS_CLOUD = "default";
|
||||
SWORD_PATH = "\${HOME}/.sword";
|
||||
TIMEFORMAT = "%3Uu %3Ss %3lR %P%%";
|
||||
};
|
||||
profileExtra = ''
|
||||
if [ -e /etc/profile ]; then
|
||||
. /etc/profile
|
||||
fi
|
||||
'';
|
||||
bashrcExtra = ''
|
||||
function swordtag {
|
||||
if [ x"$1" == "x" ]; then
|
||||
echo "Please provide tag version"
|
||||
return
|
||||
fi
|
||||
svn cp http://crosswire.org/svn/sword/branches/sword-1-8-x/ http://crosswire.org/svn/sword/tags/sword-$1/
|
||||
}
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
acp = "rsync --progress -ah";
|
||||
agbuild = "ansible-galaxy collection build";
|
||||
apub = "ansible-galaxy collection publish --api-key \${GALAXY_API_KEY}";
|
||||
calc = "bc";
|
||||
d = "deactivate";
|
||||
devroles = "cd ~/src/ansible_collections/devroles";
|
||||
gohome = "ssh greg@dns.greg-hellings.gmail.com.beta.tailscale.net -D localhost:10080";
|
||||
ll = "ls -l";
|
||||
molcol = "molecule -c ../../tests/molecule.yml";
|
||||
packaging = "cd ~/src/packaging";
|
||||
vdown = "vagrant destroy";
|
||||
vhalt = "vagrant halt";
|
||||
vos = "vagrant up --provision --provider openstack";
|
||||
vprov = "vagrant provision";
|
||||
vssh = "vagrant ssh";
|
||||
vup = "vagrant up --provision --provider libvirt";
|
||||
yaml2js = "python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)";
|
||||
};
|
||||
sessionVariables = {
|
||||
ANSIBLE_COLLECTIONS_PATH = "\${HOME}/src/";
|
||||
CLICOLOR = "1";
|
||||
EDITOR = "${pkgs.vim}/bin/vim";
|
||||
GIT_SSL_NO_VERIFY = "True";
|
||||
LSCOLORS = "ExGxBxDxCxEgEdxbxgxcxd";
|
||||
MAVEN_OPTS = " -Dmaven.wagon.http.ssl.insecure=true ";
|
||||
OS_CLOUD = "default";
|
||||
SWORD_PATH = "\${HOME}/.sword";
|
||||
TIMEFORMAT = "%3Uu %3Ss %3lR %P%%";
|
||||
};
|
||||
profileExtra = ''
|
||||
if [ -e /etc/profile ]; then
|
||||
. /etc/profile
|
||||
fi
|
||||
'';
|
||||
bashrcExtra = ''
|
||||
function swordtag {
|
||||
if [ x"$1" == "x" ]; then
|
||||
echo "Please provide tag version"
|
||||
return
|
||||
fi
|
||||
svn cp http://crosswire.org/svn/sword/branches/sword-1-8-x/ http://crosswire.org/svn/sword/tags/sword-$1/
|
||||
}
|
||||
|
||||
function newdock {
|
||||
if [ x"$1" == "x" -o x"$2" == "x" ]; then
|
||||
echo "expected arguments [name] [source]"
|
||||
return
|
||||
fi
|
||||
podman run -P --privileged=true -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v "$(pwd):/dmnt" -t -i --name="$1" "$2" /bin/bash
|
||||
}
|
||||
function newdock {
|
||||
if [ x"$1" == "x" -o x"$2" == "x" ]; then
|
||||
echo "expected arguments [name] [source]"
|
||||
return
|
||||
fi
|
||||
podman run -P --privileged=true -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v "$(pwd):/dmnt" -t -i --name="$1" "$2" /bin/bash
|
||||
}
|
||||
|
||||
function rundock {
|
||||
podman start -a -i "$1"
|
||||
}
|
||||
function rundock {
|
||||
podman start -a -i "$1"
|
||||
}
|
||||
|
||||
function ac {
|
||||
source ~/venv/''${1}/bin/activate
|
||||
}
|
||||
function ac {
|
||||
source ~/venv/''${1}/bin/activate
|
||||
}
|
||||
|
||||
function py2env {
|
||||
/usr/bin/virtualenv -p /usr/bin/python2 "''${HOME}/venv/''${1}"
|
||||
"''${HOME}/venv/''${1}/bin/pip" install -U pip
|
||||
}
|
||||
function py2env {
|
||||
/usr/bin/virtualenv -p /usr/bin/python2 "''${HOME}/venv/''${1}"
|
||||
"''${HOME}/venv/''${1}/bin/pip" install -U pip
|
||||
}
|
||||
|
||||
function py3env {
|
||||
VENV_NAME="''${1}"
|
||||
#PYVERSION="$(python3 -c "import sys;print(sys.version[:sys.version.find('.',2)])")"
|
||||
#SITE_PACKAGES_PATH="/usr/lib64/python''${PYVERSION}/site-packages/"
|
||||
#VENV_SITE_PACKAGES="''${HOME}/venv/''${VENV_NAME}/lib64/python''${PYVERSION}/site-packages/"
|
||||
# Create the virtualenv and update pip to latest
|
||||
/usr/bin/python3 -m venv --clear "''${HOME}/venv/''${VENV_NAME}" --system-site-packages
|
||||
"''${HOME}/venv/''${1}/bin/python3" -m pip install -U pip
|
||||
# Link SELinux into the environment if necessary
|
||||
#if [ -d "''${SITE_PACKAGES_PATH}" ]; then
|
||||
# ln -s "''${SITE_PACKAGES_PATH}/selinux" "''${VENV_SITE_PACKAGES}"
|
||||
# ln -s ''${SITE_PACKAGES_PATH}/_selinux*.so "''${VENV_SITE_PACKAGES}"
|
||||
#else
|
||||
# echo "ERROR: LibSELinux not found for Python ''${PYVERSION}. Install system package to enable."
|
||||
#fi
|
||||
}
|
||||
function py3env {
|
||||
VENV_NAME="''${1}"
|
||||
#PYVERSION="$(python3 -c "import sys;print(sys.version[:sys.version.find('.',2)])")"
|
||||
#SITE_PACKAGES_PATH="/usr/lib64/python''${PYVERSION}/site-packages/"
|
||||
#VENV_SITE_PACKAGES="''${HOME}/venv/''${VENV_NAME}/lib64/python''${PYVERSION}/site-packages/"
|
||||
# Create the virtualenv and update pip to latest
|
||||
/usr/bin/python3 -m venv --clear "''${HOME}/venv/''${VENV_NAME}" --system-site-packages
|
||||
"''${HOME}/venv/''${1}/bin/python3" -m pip install -U pip
|
||||
# Link SELinux into the environment if necessary
|
||||
#if [ -d "''${SITE_PACKAGES_PATH}" ]; then
|
||||
# ln -s "''${SITE_PACKAGES_PATH}/selinux" "''${VENV_SITE_PACKAGES}"
|
||||
# ln -s ''${SITE_PACKAGES_PATH}/_selinux*.so "''${VENV_SITE_PACKAGES}"
|
||||
#else
|
||||
# echo "ERROR: LibSELinux not found for Python ''${PYVERSION}. Install system package to enable."
|
||||
#fi
|
||||
}
|
||||
|
||||
function unknown_host {
|
||||
sed -i -e ''${1}d ~/.ssh/known_hosts
|
||||
}
|
||||
'';
|
||||
};
|
||||
function unknown_host {
|
||||
sed -i -e ''${1}d ~/.ssh/known_hosts
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./ansible.nix
|
||||
./bash.nix
|
||||
./direnv.nix
|
||||
./git.nix
|
||||
./ssh.nix
|
||||
./vim.nix
|
||||
./xonsh.nix
|
||||
];
|
||||
imports = [
|
||||
./ansible.nix
|
||||
./bash.nix
|
||||
./direnv.nix
|
||||
./git.nix
|
||||
./ssh.nix
|
||||
./vim.nix
|
||||
./xonsh.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,31 +1,33 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Greg Hellings";
|
||||
userEmail = "greg.hellings@gmail.com";
|
||||
aliases = {
|
||||
st = "status";
|
||||
ci = "commit";
|
||||
co = "checkout";
|
||||
ups = "push -u origin HEAD";
|
||||
amend = "commit --amend";
|
||||
};
|
||||
ignores = [
|
||||
".*.swp" ".*.swo" ".*.swn" # vim
|
||||
".idea" # IntelliJ
|
||||
".DS_Store" # Macs
|
||||
"Thumbs.db" # Windows
|
||||
".tox" # Tox temp directory
|
||||
".eclipse" # These next two are created by VSCodium plugins
|
||||
".bazelproject"
|
||||
];
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
push.default = "upstream";
|
||||
pull.rebase = "false";
|
||||
tag.sort = "version:refname";
|
||||
};
|
||||
};
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Greg Hellings";
|
||||
userEmail = "greg.hellings@gmail.com";
|
||||
aliases = {
|
||||
st = "status";
|
||||
ci = "commit";
|
||||
co = "checkout";
|
||||
ups = "push -u origin HEAD";
|
||||
amend = "commit --amend";
|
||||
};
|
||||
ignores = [
|
||||
".*.swp"
|
||||
".*.swo"
|
||||
".*.swn" # vim
|
||||
".idea" # IntelliJ
|
||||
".DS_Store" # Macs
|
||||
"Thumbs.db" # Windows
|
||||
".tox" # Tox temp directory
|
||||
".eclipse" # These next two are created by VSCodium plugins
|
||||
".bazelproject"
|
||||
];
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
push.default = "upstream";
|
||||
pull.rebase = "false";
|
||||
tag.sort = "version:refname";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,64 +1,65 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
# Workaround to set the config value to user read-only
|
||||
# This allows things like SSH in distrobox to read the config file just fine
|
||||
home.file.".ssh/config" = {
|
||||
target = ".ssh/config_source";
|
||||
onChange = ''cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config'';
|
||||
};
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
serverAliveInterval = 60;
|
||||
# Workaround to set the config value to user read-only
|
||||
# This allows things like SSH in distrobox to read the config file just fine
|
||||
home.file.".ssh/config" = {
|
||||
target = ".ssh/config_source";
|
||||
onChange = ''cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config'';
|
||||
};
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
serverAliveInterval = 60;
|
||||
|
||||
includes = ["config.local"];
|
||||
includes = [ "config.local" ];
|
||||
|
||||
matchBlocks =
|
||||
let
|
||||
nas = { user = "admin"; };
|
||||
owned = { user = "greg"; };
|
||||
in {
|
||||
inherit nas;
|
||||
matchBlocks =
|
||||
let
|
||||
nas = { user = "admin"; };
|
||||
owned = { user = "greg"; };
|
||||
in
|
||||
{
|
||||
inherit nas;
|
||||
|
||||
"*" = {
|
||||
dynamicForwards = [ {
|
||||
port = 10240;
|
||||
} ];
|
||||
};
|
||||
"*" = {
|
||||
dynamicForwards = [{
|
||||
port = 10240;
|
||||
}];
|
||||
};
|
||||
|
||||
"10.42.1.4" = lib.hm.dag.entryBefore ["10.42.*"] nas;
|
||||
"nas.thehellings.lan" = nas;
|
||||
"nas.greg-hellings.gmail.com.beta.tailscale.net" = nas;
|
||||
chronicles = nas;
|
||||
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan"] nas;
|
||||
"10.42.1.4" = lib.hm.dag.entryBefore [ "10.42.*" ] nas;
|
||||
"nas.thehellings.lan" = nas;
|
||||
"nas.greg-hellings.gmail.com.beta.tailscale.net" = nas;
|
||||
chronicles = nas;
|
||||
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan" ] nas;
|
||||
|
||||
gh = { user = "git"; hostname = "github.com"; };
|
||||
"src" = {
|
||||
user = "gitlab";
|
||||
hostname = "git.thehellings.lan";
|
||||
};
|
||||
gh = { user = "git"; hostname = "github.com"; };
|
||||
"src" = {
|
||||
user = "gitlab";
|
||||
hostname = "git.thehellings.lan";
|
||||
};
|
||||
|
||||
"*.thehellings.lan" = owned;
|
||||
"10.42.*" = owned;
|
||||
"*.thehellings.lan" = owned;
|
||||
"10.42.*" = owned;
|
||||
|
||||
"host.crosswire.org crosswire" = {
|
||||
hostname = "host.crosswire.org";
|
||||
user = "ghellings";
|
||||
};
|
||||
"host.crosswire.org crosswire" = {
|
||||
hostname = "host.crosswire.org";
|
||||
user = "ghellings";
|
||||
};
|
||||
|
||||
fedpeople = {
|
||||
hostname = "fedorapeople.org";
|
||||
user = "greghellings";
|
||||
};
|
||||
fedpeople = {
|
||||
hostname = "fedorapeople.org";
|
||||
user = "greghellings";
|
||||
};
|
||||
|
||||
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
||||
user = "greghellings";
|
||||
};
|
||||
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
||||
user = "greghellings";
|
||||
};
|
||||
|
||||
"127.*".extraOptions = {
|
||||
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
||||
HostkeyAlgorithms = "+ssh-rsa";
|
||||
};
|
||||
};
|
||||
};
|
||||
"127.*".extraOptions = {
|
||||
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
||||
HostkeyAlgorithms = "+ssh-rsa";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+138
-135
@@ -1,142 +1,145 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
let
|
||||
vim-xonsh = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-xonsh";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "meatballs";
|
||||
repo = "vim-xonsh";
|
||||
rev = "929f35e";
|
||||
hash = "sha256-ugHLu2Z9bTtQsIp4FQPKxgjVe9oZNjfQYrP+aHu+/uU=";
|
||||
};
|
||||
};
|
||||
vim-xonsh = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-xonsh";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "meatballs";
|
||||
repo = "vim-xonsh";
|
||||
rev = "929f35e";
|
||||
hash = "sha256-ugHLu2Z9bTtQsIp4FQPKxgjVe9oZNjfQYrP+aHu+/uU=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [ (pkgs.nerdfonts.override { fonts = [ "Hack" ]; }) ];
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
colorschemes.gruvbox.enable = true;
|
||||
globals = {
|
||||
indent_guides_enable_on_vim_startup = 1;
|
||||
nix_recommended_style = 0;
|
||||
};
|
||||
opts = {
|
||||
background = "dark";
|
||||
backup = false;
|
||||
copyindent = true;
|
||||
cursorline = true;
|
||||
expandtab = false;
|
||||
hidden = true;
|
||||
hlsearch = true;
|
||||
ignorecase = true;
|
||||
lazyredraw = true;
|
||||
list = true;
|
||||
listchars = "tab:→ ,extends:→,precedes:←,trail:·,eol:¬";
|
||||
mouse = "a";
|
||||
number = true;
|
||||
preserveindent = true;
|
||||
relativenumber = true;
|
||||
shiftwidth = 4;
|
||||
showcmd = true;
|
||||
showmatch = true;
|
||||
signcolumn = "yes";
|
||||
smartcase = true;
|
||||
softtabstop = 4;
|
||||
tabstop = 4;
|
||||
# Setting for CtrlP
|
||||
wildignore = "*.swp,*.pyc,*.class,.tox";
|
||||
wrap = false;
|
||||
writebackup = false;
|
||||
};
|
||||
keymaps = let
|
||||
winMove = key: { mode = "n"; key = "<C-${key}>"; action = "<C-w>${key}<C-w><CR>"; };
|
||||
in [ {
|
||||
mode = "n";
|
||||
key = "<C-e>";
|
||||
action = "<Esc>:BufExplorer<CR>";
|
||||
} {
|
||||
mode = "n";
|
||||
key = "<C-t>";
|
||||
#action = "<Esc>:NERDTreeToggle<CR>";
|
||||
action = "<Esc>:Neotree toggle<CR>";
|
||||
} {
|
||||
mode = "n";
|
||||
key = "<C-g>";
|
||||
action = "<Esc>:Neotree float git_status toggle<CR>";
|
||||
}
|
||||
(winMove "h")
|
||||
(winMove "j")
|
||||
(winMove "k")
|
||||
(winMove "l")
|
||||
];
|
||||
plugins = {
|
||||
airline.enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "buffer"; group_index = 2; }
|
||||
{ name = "path"; gruop_index = 3; }
|
||||
];
|
||||
};
|
||||
direnv.enable = true;
|
||||
gitgutter.enable = true;
|
||||
fugitive.enable = true;
|
||||
fzf-lua = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
"<C-o>" = {
|
||||
action = "files";
|
||||
settings = {
|
||||
previewers.cat.cmd = "${pkgs.coreutils}/bin/cat";
|
||||
winopts.height = 0.5;
|
||||
};
|
||||
};
|
||||
"<C-p>" = {
|
||||
action = "git_files";
|
||||
settings = {
|
||||
previewers.cat.cmd = "${pkgs.coreutils}/bin/cat";
|
||||
winopts.height = 0.5;
|
||||
};
|
||||
};
|
||||
};
|
||||
profile = "fzf-vim";
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
ansiblels.enable = true;
|
||||
cmake.enable = true;
|
||||
gopls.enable = true;
|
||||
html.enable = true;
|
||||
nixd.enable = true;
|
||||
pylsp.enable = true;
|
||||
pyright.enable = true;
|
||||
rust-analyzer = {
|
||||
# No need to have these installed on every one of my systems
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
enable = true;
|
||||
};
|
||||
terraformls.enable = true;
|
||||
};
|
||||
};
|
||||
neo-tree.enable = true;
|
||||
notify.enable = true;
|
||||
web-devicons.enable = true;
|
||||
} // (lib.mkIf (lib.versionAtLeast config.system.nixos.release "24.11") {});
|
||||
extraConfigLua = builtins.replaceStrings [ "@git@" ] [ "${pkgs.git}/bin/git" ] (builtins.readFile ./vim/extra.lua);
|
||||
extraConfigVim = builtins.readFile ./vim/extra.vimrc;
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
bufexplorer
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [ (pkgs.nerdfonts.override { fonts = [ "Hack" ]; }) ];
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
colorschemes.gruvbox.enable = true;
|
||||
globals = {
|
||||
indent_guides_enable_on_vim_startup = 1;
|
||||
nix_recommended_style = 0;
|
||||
};
|
||||
opts = {
|
||||
background = "dark";
|
||||
backup = false;
|
||||
copyindent = true;
|
||||
cursorline = true;
|
||||
expandtab = false;
|
||||
hidden = true;
|
||||
hlsearch = true;
|
||||
ignorecase = true;
|
||||
lazyredraw = true;
|
||||
list = true;
|
||||
listchars = "tab:→ ,extends:→,precedes:←,trail:·,eol:¬";
|
||||
mouse = "a";
|
||||
number = true;
|
||||
preserveindent = true;
|
||||
relativenumber = true;
|
||||
shiftwidth = 4;
|
||||
showcmd = true;
|
||||
showmatch = true;
|
||||
signcolumn = "yes";
|
||||
smartcase = true;
|
||||
softtabstop = 4;
|
||||
tabstop = 4;
|
||||
# Setting for CtrlP
|
||||
wildignore = "*.swp,*.pyc,*.class,.tox";
|
||||
wrap = false;
|
||||
writebackup = false;
|
||||
};
|
||||
keymaps =
|
||||
let
|
||||
winMove = key: { mode = "n"; key = "<C-${key}>"; action = "<C-w>${key}<C-w><CR>"; };
|
||||
in
|
||||
[{
|
||||
mode = "n";
|
||||
key = "<C-e>";
|
||||
action = "<Esc>:BufExplorer<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-t>";
|
||||
#action = "<Esc>:NERDTreeToggle<CR>";
|
||||
action = "<Esc>:Neotree toggle<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-g>";
|
||||
action = "<Esc>:Neotree float git_status toggle<CR>";
|
||||
}
|
||||
(winMove "h")
|
||||
(winMove "j")
|
||||
(winMove "k")
|
||||
(winMove "l")];
|
||||
plugins = {
|
||||
airline.enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "buffer"; group_index = 2; }
|
||||
{ name = "path"; gruop_index = 3; }
|
||||
];
|
||||
};
|
||||
direnv.enable = true;
|
||||
gitgutter.enable = true;
|
||||
fugitive.enable = true;
|
||||
fzf-lua = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
"<C-o>" = {
|
||||
action = "files";
|
||||
settings = {
|
||||
previewers.cat.cmd = "${pkgs.coreutils}/bin/cat";
|
||||
winopts.height = 0.5;
|
||||
};
|
||||
};
|
||||
"<C-p>" = {
|
||||
action = "git_files";
|
||||
settings = {
|
||||
previewers.cat.cmd = "${pkgs.coreutils}/bin/cat";
|
||||
winopts.height = 0.5;
|
||||
};
|
||||
};
|
||||
};
|
||||
profile = "fzf-vim";
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
ansiblels.enable = true;
|
||||
cmake.enable = true;
|
||||
gopls.enable = true;
|
||||
html.enable = true;
|
||||
nixd.enable = true;
|
||||
pylsp.enable = true;
|
||||
pyright.enable = true;
|
||||
rust-analyzer = {
|
||||
# No need to have these installed on every one of my systems
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
enable = true;
|
||||
};
|
||||
terraformls.enable = true;
|
||||
};
|
||||
};
|
||||
neo-tree.enable = true;
|
||||
notify.enable = true;
|
||||
web-devicons.enable = true;
|
||||
} // (lib.mkIf (lib.versionAtLeast config.system.nixos.release "24.11") { });
|
||||
extraConfigLua = builtins.replaceStrings [ "@git@" ] [ "${pkgs.git}/bin/git" ] (builtins.readFile ./vim/extra.lua);
|
||||
extraConfigVim = builtins.readFile ./vim/extra.vimrc;
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
bufexplorer
|
||||
|
||||
context-vim
|
||||
vim-indent-guides
|
||||
vim-xonsh
|
||||
];
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
context-vim
|
||||
vim-indent-guides
|
||||
vim-xonsh
|
||||
];
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,75 +1,75 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
{
|
||||
programs.xonsh = {
|
||||
enable = true;
|
||||
programs.xonsh = {
|
||||
enable = true;
|
||||
|
||||
sessionVariables = {
|
||||
CLICOLOR = 1;
|
||||
EDITOR = "nvim";
|
||||
# vte_new_tab_cwd causes new Terminal tabs to open in the
|
||||
# same CWD as the current tab
|
||||
LESS_TERMCAP_mb = "\\033[01;31m"; # begin blinking
|
||||
LESS_TERMCAP_md = "\\033[01;31m"; # begin bold
|
||||
LESS_TERMCAP_me = "\\033[0m"; # end mode
|
||||
LESS_TERMCAP_so = "\\033[01;44;36m"; # begin standout-mode (bottom of screen)
|
||||
LESS_TERMCAP_se = "\\033[0m"; # end standout-mode
|
||||
LESS_TERMCAP_us = "\\033[00;36m"; # begin underline
|
||||
LESS_TERMCAP_ue = "\\033[0m"; # end underline
|
||||
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN = "1";
|
||||
LSCOLORS = "ExGxBxDxCxEgEdxbxgxcxd";
|
||||
MAVEN_OPTS = " -Dmaven.wagon.http.ssl.insecure=true";
|
||||
OS_CLOUD = "default";
|
||||
PROMPT = "{vte_new_tab_cwd}{env_name}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {short_cwd}{branch_color}{curr_branch: {}}{RESET} {BOLD_BLUE}{prompt_end}{RESET} ";
|
||||
SWORD_PATH = "${config.home.homeDirectory}/.sword/";
|
||||
TIMEFORMAT = "%3Uu %3Ss %3lR %P%%";
|
||||
# Tells vox where to find virtualenvs
|
||||
VIRTUALENV_HOME = "${config.home.homeDirectory}/venv/";
|
||||
XONSH_COLOR_STYLE = "default";
|
||||
sessionVariables = {
|
||||
CLICOLOR = 1;
|
||||
EDITOR = "nvim";
|
||||
# vte_new_tab_cwd causes new Terminal tabs to open in the
|
||||
# same CWD as the current tab
|
||||
LESS_TERMCAP_mb = "\\033[01;31m"; # begin blinking
|
||||
LESS_TERMCAP_md = "\\033[01;31m"; # begin bold
|
||||
LESS_TERMCAP_me = "\\033[0m"; # end mode
|
||||
LESS_TERMCAP_so = "\\033[01;44;36m"; # begin standout-mode (bottom of screen)
|
||||
LESS_TERMCAP_se = "\\033[0m"; # end standout-mode
|
||||
LESS_TERMCAP_us = "\\033[00;36m"; # begin underline
|
||||
LESS_TERMCAP_ue = "\\033[0m"; # end underline
|
||||
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN = "1";
|
||||
LSCOLORS = "ExGxBxDxCxEgEdxbxgxcxd";
|
||||
MAVEN_OPTS = " -Dmaven.wagon.http.ssl.insecure=true";
|
||||
OS_CLOUD = "default";
|
||||
PROMPT = "{vte_new_tab_cwd}{env_name}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {short_cwd}{branch_color}{curr_branch: {}}{RESET} {BOLD_BLUE}{prompt_end}{RESET} ";
|
||||
SWORD_PATH = "${config.home.homeDirectory}/.sword/";
|
||||
TIMEFORMAT = "%3Uu %3Ss %3lR %P%%";
|
||||
# Tells vox where to find virtualenvs
|
||||
VIRTUALENV_HOME = "${config.home.homeDirectory}/venv/";
|
||||
XONSH_COLOR_STYLE = "default";
|
||||
|
||||
GOPATH = "${config.home.homeDirectory}/src/go";
|
||||
GOBIN = "${config.home.homeDirectory}/src/bin";
|
||||
};
|
||||
GOPATH = "${config.home.homeDirectory}/src/go";
|
||||
GOBIN = "${config.home.homeDirectory}/src/bin";
|
||||
};
|
||||
|
||||
aliases = {
|
||||
# Python related ones
|
||||
ac = "vox activate";
|
||||
d = "vox deactivate";
|
||||
aliases = {
|
||||
# Python related ones
|
||||
ac = "vox activate";
|
||||
d = "vox deactivate";
|
||||
|
||||
# Nix related ones
|
||||
gl-nging = "sudo nixos-container run gitlab -- systemctl restart nginx";
|
||||
nb = "nix build -L";
|
||||
nixdu = "sudo nix-store --gc --print-roots | egrep -v r\"^(/nix/var|/run/\\w+-system|\\{memory|/proc)\"";
|
||||
nixtest = "nixpkgs-review rev HEAD";
|
||||
nixup = "nix flake update";
|
||||
stable = "nix flake update nixpkgs hm nixvimstable";
|
||||
unstable = "nix flake update nixunstable hmunstable nixvimunstable nurpkgs vsext wsl";
|
||||
# Nix related ones
|
||||
gl-nging = "sudo nixos-container run gitlab -- systemctl restart nginx";
|
||||
nb = "nix build -L";
|
||||
nixdu = "sudo nix-store --gc --print-roots | egrep -v r\"^(/nix/var|/run/\\w+-system|\\{memory|/proc)\"";
|
||||
nixtest = "nixpkgs-review rev HEAD";
|
||||
nixup = "nix flake update";
|
||||
stable = "nix flake update nixpkgs hm nixvimstable";
|
||||
unstable = "nix flake update nixunstable hmunstable nixvimunstable nurpkgs vsext wsl";
|
||||
|
||||
# General
|
||||
gh-personal = "$GH_CONFIG_DIR=\"${config.home.homeDirectory}/.config/gh/personal\" gh";
|
||||
ls = "ls --color";
|
||||
ll = "ls -l --color";
|
||||
tf = "terraform";
|
||||
# General
|
||||
gh-personal = "$GH_CONFIG_DIR=\"${config.home.homeDirectory}/.config/gh/personal\" gh";
|
||||
ls = "ls --color";
|
||||
ll = "ls -l --color";
|
||||
tf = "terraform";
|
||||
|
||||
# Tailscale related ones
|
||||
tsup = "sudo tailscale up";
|
||||
tspub = "sudo tailscale up --exit-node=linode";
|
||||
tshome = "sudo tailscale up --exit-node=2maccabees";
|
||||
tsclear = "sudo tailscale up --exit-node=''";
|
||||
# Tailscale related ones
|
||||
tsup = "sudo tailscale up";
|
||||
tspub = "sudo tailscale up --exit-node=linode";
|
||||
tshome = "sudo tailscale up --exit-node=2maccabees";
|
||||
tsclear = "sudo tailscale up --exit-node=''";
|
||||
|
||||
# Vagrant related
|
||||
vdown = "vagrant destroy";
|
||||
vhalt = "vagrant halt";
|
||||
vos = "vagrant up --provision --provider openstack";
|
||||
vprov = "vagrant provision";
|
||||
vup = "vagrant up --provision --provider libvirt";
|
||||
vssh = "vagrant ssh";
|
||||
};
|
||||
# Vagrant related
|
||||
vdown = "vagrant destroy";
|
||||
vhalt = "vagrant halt";
|
||||
vos = "vagrant up --provision --provider openstack";
|
||||
vprov = "vagrant provision";
|
||||
vup = "vagrant up --provision --provider libvirt";
|
||||
vssh = "vagrant ssh";
|
||||
};
|
||||
|
||||
configHeader = builtins.readFile ./xonsh_header.xsh;
|
||||
configFooter = (builtins.readFile ./xonsh_footer.xsh) + (builtins.concatStringsSep "\n" [
|
||||
"with open('${pkgs.stdenv.cc}/nix-support/dynamic-linker', 'r') as fp:"
|
||||
" $NIX_LD = fp.read().strip()"
|
||||
]);
|
||||
};
|
||||
configHeader = builtins.readFile ./xonsh_header.xsh;
|
||||
configFooter = (builtins.readFile ./xonsh_footer.xsh) + (builtins.concatStringsSep "\n" [
|
||||
"with open('${pkgs.stdenv.cc}/nix-support/dynamic-linker', 'r') as fp:"
|
||||
" $NIX_LD = fp.read().strip()"
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
+10
-10
@@ -1,14 +1,14 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./baseline
|
||||
./development.nix
|
||||
./gnome.nix
|
||||
./gui.nix
|
||||
./python.nix
|
||||
./sway.nix
|
||||
./vscodium.nix
|
||||
./xonsh.nix
|
||||
];
|
||||
imports = [
|
||||
./baseline
|
||||
./development.nix
|
||||
./gnome.nix
|
||||
./gui.nix
|
||||
./python.nix
|
||||
./sway.nix
|
||||
./vscodium.nix
|
||||
./xonsh.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
packages = with pkgs; [
|
||||
bruno # but let's not talk about it
|
||||
cargo
|
||||
gh-copilot
|
||||
mariadb
|
||||
nix-eval-jobs
|
||||
nix-fast-build
|
||||
nix-output-monitor
|
||||
nix-update
|
||||
nixfmt-rfc-style
|
||||
nixpkgs-review
|
||||
nodejs
|
||||
process-compose
|
||||
zed-editor
|
||||
];
|
||||
in with lib; {
|
||||
options.greg.development = mkEnableOption "Setup necessary development packages";
|
||||
packages = with pkgs; [
|
||||
bruno # but let's not talk about it
|
||||
cargo
|
||||
gh-copilot
|
||||
mariadb
|
||||
nix-eval-jobs
|
||||
nix-fast-build
|
||||
nix-output-monitor
|
||||
nix-update
|
||||
nixfmt-rfc-style
|
||||
nixpkgs-review
|
||||
nodejs
|
||||
process-compose
|
||||
zed-editor
|
||||
];
|
||||
in
|
||||
with lib; {
|
||||
options.greg.development = mkEnableOption "Setup necessary development packages";
|
||||
|
||||
config = mkIf config.greg.development {
|
||||
home.packages = packages;
|
||||
};
|
||||
config = mkIf config.greg.development {
|
||||
home.packages = packages;
|
||||
};
|
||||
}
|
||||
|
||||
+115
-114
@@ -1,121 +1,122 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
gv = lib.hm.gvariant;
|
||||
cfg = config.greg.gnome;
|
||||
gv = lib.hm.gvariant;
|
||||
cfg = config.greg.gnome;
|
||||
|
||||
in {
|
||||
options.greg.gnome = lib.mkEnableOption "Enable Gnome support and settings";
|
||||
in
|
||||
{
|
||||
options.greg.gnome = lib.mkEnableOption "Enable Gnome support and settings";
|
||||
|
||||
config = (lib.mkIf cfg {
|
||||
programs.gnome-terminal = lib.mkIf ( pkgs.system != "x86_64-darwin") {
|
||||
enable = true;
|
||||
showMenubar = true;
|
||||
themeVariant = "dark";
|
||||
profile."95f3c68e-82f3-4f44-ac85-6e075fed80b0" = {
|
||||
default = true;
|
||||
customCommand = "xonsh -st best";
|
||||
loginShell = true;
|
||||
scrollbackLines = 65535;
|
||||
transparencyPercent = 50;
|
||||
visibleName = "greg";
|
||||
};
|
||||
};
|
||||
config = (lib.mkIf cfg {
|
||||
programs.gnome-terminal = lib.mkIf (pkgs.system != "x86_64-darwin") {
|
||||
enable = true;
|
||||
showMenubar = true;
|
||||
themeVariant = "dark";
|
||||
profile."95f3c68e-82f3-4f44-ac85-6e075fed80b0" = {
|
||||
default = true;
|
||||
customCommand = "xonsh -st best";
|
||||
loginShell = true;
|
||||
scrollbackLines = 65535;
|
||||
transparencyPercent = 50;
|
||||
visibleName = "greg";
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/Disks" = {
|
||||
image-dir-uri = "file:///home/greg/Downloads";
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
clock-show-weekday = true;
|
||||
color-scheme = "default";
|
||||
cursor-size = 24;
|
||||
toolbar-style = "text";
|
||||
};
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
lock-delay = "uint32 0";
|
||||
lock-enabled = false;
|
||||
};
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
switch-applications = [];
|
||||
switch-applications-backward = [];
|
||||
switch-windows = ["<Alt>Tab"];
|
||||
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
||||
};
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout="icon:minimize,maximize,close";
|
||||
};
|
||||
"org/gnome/file-roller/listing" = {
|
||||
list-mode = "as-folder";
|
||||
name-coloumn-width = 302;
|
||||
show-path = true;
|
||||
sort-method = "name";
|
||||
sort-type = "ascending";
|
||||
};
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
search-filter-time-type = "last_modified";
|
||||
search-view = "list-view";
|
||||
};
|
||||
"org/gnome/shell" = {
|
||||
enabled-extensions = [
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"Vitals@CoreCoding.com"
|
||||
"window-list@gnome-shell-extensions.gcampax.github.com"
|
||||
"gsconnect@andyholmes.github.io"
|
||||
];
|
||||
favorite-apps = [
|
||||
"org.gnome.Calendar.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"org.gnome.Terminal.desktop"
|
||||
"firefox.desktop"
|
||||
"vlc.desktop"
|
||||
];
|
||||
remember-mount-password = true;
|
||||
};
|
||||
"org/gnome/shell/extensions/vitals" = {
|
||||
hot-sensors = [
|
||||
"_memory_usage_"
|
||||
"_system_load_1m_"
|
||||
"__network-rx_max__"
|
||||
"_temperature_k10temp_tccd1_"
|
||||
"_temperature_k10temp_tctl_"
|
||||
];
|
||||
};
|
||||
"org/gnome/shell/overrides" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = true;
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
"org/gnome/shell/weather" = {
|
||||
automation-location = true;
|
||||
locations = "[<(uint32 2, <('Midlothian / Waxahachie, Mid-Way Regional Airport', 'KJWY', false, [(0.5664611473274288, -1.691437359323684)], @a(dd) [])>)>]";
|
||||
};
|
||||
"org/gnome/shell/window-switcher" = {
|
||||
app-icon-mode = "both";
|
||||
current-workspace-only = true;
|
||||
};
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
location-mode = "path-bar";
|
||||
show-hidden = false;
|
||||
show-size-column = true;
|
||||
sort-column = "modified";
|
||||
sort-directories-first = false;
|
||||
sort-order = "descending";
|
||||
};
|
||||
"org/virt-manager/virt-manager/confirm" = {
|
||||
delete-storage = true;
|
||||
forcepoweroff = false;
|
||||
};
|
||||
"org/virt-manager/virt-manager/details" = {
|
||||
show-toolbar = true;
|
||||
};
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///session" "qemu:///system" ];
|
||||
uris = [ "qemu:///session" "qemu:///system" ];
|
||||
};
|
||||
};
|
||||
});
|
||||
dconf.settings = {
|
||||
"org/gnome/Disks" = {
|
||||
image-dir-uri = "file:///home/greg/Downloads";
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
clock-show-weekday = true;
|
||||
color-scheme = "default";
|
||||
cursor-size = 24;
|
||||
toolbar-style = "text";
|
||||
};
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
lock-delay = "uint32 0";
|
||||
lock-enabled = false;
|
||||
};
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
switch-applications = [ ];
|
||||
switch-applications-backward = [ ];
|
||||
switch-windows = [ "<Alt>Tab" ];
|
||||
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
||||
};
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout = "icon:minimize,maximize,close";
|
||||
};
|
||||
"org/gnome/file-roller/listing" = {
|
||||
list-mode = "as-folder";
|
||||
name-coloumn-width = 302;
|
||||
show-path = true;
|
||||
sort-method = "name";
|
||||
sort-type = "ascending";
|
||||
};
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
search-filter-time-type = "last_modified";
|
||||
search-view = "list-view";
|
||||
};
|
||||
"org/gnome/shell" = {
|
||||
enabled-extensions = [
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"Vitals@CoreCoding.com"
|
||||
"window-list@gnome-shell-extensions.gcampax.github.com"
|
||||
"gsconnect@andyholmes.github.io"
|
||||
];
|
||||
favorite-apps = [
|
||||
"org.gnome.Calendar.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"org.gnome.Terminal.desktop"
|
||||
"firefox.desktop"
|
||||
"vlc.desktop"
|
||||
];
|
||||
remember-mount-password = true;
|
||||
};
|
||||
"org/gnome/shell/extensions/vitals" = {
|
||||
hot-sensors = [
|
||||
"_memory_usage_"
|
||||
"_system_load_1m_"
|
||||
"__network-rx_max__"
|
||||
"_temperature_k10temp_tccd1_"
|
||||
"_temperature_k10temp_tctl_"
|
||||
];
|
||||
};
|
||||
"org/gnome/shell/overrides" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = true;
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
"org/gnome/shell/weather" = {
|
||||
automation-location = true;
|
||||
locations = "[<(uint32 2, <('Midlothian / Waxahachie, Mid-Way Regional Airport', 'KJWY', false, [(0.5664611473274288, -1.691437359323684)], @a(dd) [])>)>]";
|
||||
};
|
||||
"org/gnome/shell/window-switcher" = {
|
||||
app-icon-mode = "both";
|
||||
current-workspace-only = true;
|
||||
};
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
location-mode = "path-bar";
|
||||
show-hidden = false;
|
||||
show-size-column = true;
|
||||
sort-column = "modified";
|
||||
sort-directories-first = false;
|
||||
sort-order = "descending";
|
||||
};
|
||||
"org/virt-manager/virt-manager/confirm" = {
|
||||
delete-storage = true;
|
||||
forcepoweroff = false;
|
||||
};
|
||||
"org/virt-manager/virt-manager/details" = {
|
||||
show-toolbar = true;
|
||||
};
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///session" "qemu:///system" ];
|
||||
uris = [ "qemu:///session" "qemu:///system" ];
|
||||
};
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
+109
-108
@@ -1,120 +1,121 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.greg.gui;
|
||||
cfg = config.greg.gui;
|
||||
|
||||
excludes = systems: opts: (
|
||||
if ( builtins.all (x: pkgs.system != x) systems ) then opts else []
|
||||
);
|
||||
excludes = systems: opts: (
|
||||
if (builtins.all (x: pkgs.system != x) systems) then opts else [ ]
|
||||
);
|
||||
|
||||
# For now, we ignore this and don't install it
|
||||
ffPkgs = pkgs.firefox.override { cfg.enableGnomeExtensions = true; };
|
||||
# For now, we ignore this and don't install it
|
||||
ffPkgs = pkgs.firefox.override { cfg.enableGnomeExtensions = true; };
|
||||
|
||||
vars = {
|
||||
XDG_CURRENT_DESKTOP = "GNOME";
|
||||
};
|
||||
in {
|
||||
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
|
||||
vars = {
|
||||
XDG_CURRENT_DESKTOP = "GNOME";
|
||||
};
|
||||
in
|
||||
{
|
||||
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
|
||||
|
||||
config = (lib.mkIf cfg {
|
||||
# These packages are Linux only
|
||||
home.packages = with pkgs; ( excludes ["x86_64-darwin" "aarch64-darwin"]
|
||||
[
|
||||
cdrtools
|
||||
element-desktop
|
||||
freetube
|
||||
qpwgraph
|
||||
vlc
|
||||
x265
|
||||
]) ++
|
||||
config = (lib.mkIf cfg {
|
||||
# These packages are Linux only
|
||||
home.packages = with pkgs; (excludes [ "x86_64-darwin" "aarch64-darwin" ]
|
||||
[
|
||||
cdrtools
|
||||
element-desktop
|
||||
freetube
|
||||
qpwgraph
|
||||
vlc
|
||||
x265
|
||||
]) ++
|
||||
|
||||
# x86_64-linux only
|
||||
( excludes ["x86_64-darwin" "aarch64-darwin" "aarch64-linux"]
|
||||
[
|
||||
bitwarden
|
||||
discord
|
||||
endeavour
|
||||
gnucash
|
||||
jellyfin-media-player
|
||||
#logseq
|
||||
nextcloud-client
|
||||
slack
|
||||
]) ++
|
||||
# x86_64-linux only
|
||||
(excludes [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]
|
||||
[
|
||||
bitwarden
|
||||
discord
|
||||
endeavour
|
||||
gnucash
|
||||
jellyfin-media-player
|
||||
#logseq
|
||||
nextcloud-client
|
||||
slack
|
||||
]) ++
|
||||
|
||||
# Items that are not supported on ARM/Linux
|
||||
( excludes ["aarch64-linux"]
|
||||
[
|
||||
onlyoffice-bin
|
||||
synology-drive-client
|
||||
zoom-us
|
||||
]);
|
||||
# Items that are not supported on ARM/Linux
|
||||
(excludes [ "aarch64-linux" ]
|
||||
[
|
||||
onlyoffice-bin
|
||||
synology-drive-client
|
||||
zoom-us
|
||||
]);
|
||||
|
||||
programs.firefox = {
|
||||
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
|
||||
package = ffPkgs;
|
||||
policies = {
|
||||
DisableAppUpdate = true;
|
||||
};
|
||||
profiles = {
|
||||
default = {
|
||||
bookmarks = import ./gui/bookmarks.nix;
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
force = true;
|
||||
engines = {
|
||||
Google.metaData.alias = "@g";
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
"Nix Options" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@no" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"app.update.auto" = false;
|
||||
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||
"browser.startup.page" = 3;
|
||||
"browser.startup.homepage" = "https://thehellings.com";
|
||||
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
||||
"doh-rollout.doneFirstRun" = true;
|
||||
"signon.rememberSignons" = false;
|
||||
};
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
bitwarden
|
||||
gsconnect
|
||||
foxyproxy-standard
|
||||
multi-account-containers
|
||||
octotree
|
||||
okta-browser-plugin
|
||||
refined-github
|
||||
tree-style-tab
|
||||
ublock-origin
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.firefox = {
|
||||
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
|
||||
package = ffPkgs;
|
||||
policies = {
|
||||
DisableAppUpdate = true;
|
||||
};
|
||||
profiles = {
|
||||
default = {
|
||||
bookmarks = import ./gui/bookmarks.nix;
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
force = true;
|
||||
engines = {
|
||||
Google.metaData.alias = "@g";
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
"Nix Options" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@no" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"app.update.auto" = false;
|
||||
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||
"browser.startup.page" = 3;
|
||||
"browser.startup.homepage" = "https://thehellings.com";
|
||||
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
||||
"doh-rollout.doneFirstRun" = true;
|
||||
"signon.rememberSignons" = false;
|
||||
};
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
bitwarden
|
||||
gsconnect
|
||||
foxyproxy-standard
|
||||
multi-account-containers
|
||||
octotree
|
||||
okta-browser-plugin
|
||||
refined-github
|
||||
tree-style-tab
|
||||
ublock-origin
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# This is supposed to be in support of Firefox, but I dunno...
|
||||
programs.bash.sessionVariables = vars;
|
||||
programs.xonsh.sessionVariables = vars;
|
||||
});
|
||||
# This is supposed to be in support of Firefox, but I dunno...
|
||||
programs.bash.sessionVariables = vars;
|
||||
programs.xonsh.sessionVariables = vars;
|
||||
});
|
||||
}
|
||||
|
||||
+167
-137
@@ -1,137 +1,167 @@
|
||||
[ {
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [ {
|
||||
name = "Ansible";
|
||||
bookmarks = [ {
|
||||
name = "Collection Index";
|
||||
url = "https://docs.ansible.com/ansible/latest/collections/index.html";
|
||||
} ];
|
||||
} {
|
||||
name = "Church";
|
||||
bookmarks = [ {
|
||||
name = "DC4K";
|
||||
url = "https://www.dc4k.org/leaderzone/articles";
|
||||
} ];
|
||||
} {
|
||||
name = "IVR";
|
||||
bookmarks = [ {
|
||||
name = "Dev";
|
||||
bookmarks = [ {
|
||||
name = "Core Survey";
|
||||
url = "https://webdev5.ivrtechnology.com/coreservices/survey/admin/";
|
||||
} {
|
||||
name = "Audio";
|
||||
url = "https://apidev1.ivrtechnology.com/coreservices/audio/admin/";
|
||||
} ];
|
||||
} {
|
||||
name = "HC";
|
||||
bookmarks = [ {
|
||||
name = "Audio";
|
||||
url = "https://hcweb3.ivrtechnology.com/coreservices/audio/admin/";
|
||||
} {
|
||||
name = "Survey";
|
||||
url = "https://hcweb2.ivrtechnology.com/coreservices/survey/admin/";
|
||||
} ];
|
||||
} {
|
||||
name = "PCI";
|
||||
bookmarks = [ {
|
||||
name = "Audio";
|
||||
url = "https://pciweb3.ivrtechnology.com/coreservices/audio/admin/";
|
||||
} ];
|
||||
} {
|
||||
name = "Processes";
|
||||
bookmarks = [ {
|
||||
name = "Change Management";
|
||||
url = "https://ivrtg.atlassian.net/wiki/spaces/ITS/pages/13094842/Executing+Change+Management";
|
||||
} {
|
||||
name = "Okta";
|
||||
url = "https://engagesmart.okta.com/";
|
||||
} {
|
||||
name = "DB Request";
|
||||
url = "https://ivrtg.aha.io/develop/features/INFR-1073";
|
||||
} ];
|
||||
} ];
|
||||
} {
|
||||
name = "Katie";
|
||||
bookmarks = [ {
|
||||
name = "Sports Forms";
|
||||
url = "https://midlothianisd.rankone.com/New/NewStudentList.aspx";
|
||||
} {
|
||||
name = "Skyward";
|
||||
url = "https://skyward.iscorp.com/MidlothianISDTXStuSTS/Session/Signin?area=Home&controller=Home&action=Index&logoutreason=TimedOut";
|
||||
} ];
|
||||
} {
|
||||
name = "Nix";
|
||||
bookmarks = [ {
|
||||
name = "Package Versions";
|
||||
url = "https://lazamar.co.uk/nix-versions/?channel=nixpkgs-unstable&package=python3";
|
||||
} {
|
||||
name = "Channel status";
|
||||
url = "https://status.nixos.org/";
|
||||
} {
|
||||
name = "Home Manager options";
|
||||
url = "https://nix-community.github.io/home-manager/options.xhtml";
|
||||
} {
|
||||
name = "Flake Parts";
|
||||
url = "https://community.flake.parts/";
|
||||
} {
|
||||
name = "Language ref";
|
||||
url = "https://nix.dev/manual/nix/latest/language/index.html";
|
||||
} {
|
||||
name = "Builtin functions";
|
||||
url = "https://nix.dev/manual/nix/latest/language/builtins.html";
|
||||
} {
|
||||
name = "Nixpkgs functions";
|
||||
url = "https://ryantm.github.io/nixpkgs/functions/library/strings/#sec-functions-library-strings";
|
||||
} {
|
||||
name = "NUR search";
|
||||
url = "https://nur.nix-community.org/";
|
||||
} ];
|
||||
} {
|
||||
name = "Rust";
|
||||
bookmarks = [ {
|
||||
name = "Learn Rust";
|
||||
url = "https://www.rust-lang.org/learn";
|
||||
} {
|
||||
name = "Rust by Example";
|
||||
url = "https://doc.rust-lang.org/rust-by-example/hello.html";
|
||||
} {
|
||||
name = "Iced";
|
||||
url = "https://docs.rs/iced/latest/iced/";
|
||||
} ];
|
||||
} {
|
||||
name = "Shopping";
|
||||
bookmarks = [ {
|
||||
name = "Cables";
|
||||
url = "https://www.pchcables.com";
|
||||
} ];
|
||||
} {
|
||||
name = "SubTo";
|
||||
bookmarks = [ {
|
||||
name = "Kajabi";
|
||||
url = "https://www.subtocourse.com/login";
|
||||
} {
|
||||
name = "SubTo Fund";
|
||||
url = "https://frontend.koreconx.com/auth/login";
|
||||
} {
|
||||
name = "Creive Title";
|
||||
url = "https://getcreativetitle.com/";
|
||||
} {
|
||||
name = "REI Scripts";
|
||||
url = "https://reiconveyorbelt.com/no-excuses/";
|
||||
} ];
|
||||
} {
|
||||
name = "Tools";
|
||||
bookmarks = [ {
|
||||
name = "Password Hash";
|
||||
url = "https://unix4lyfe.org/crypt/";
|
||||
} {
|
||||
name = "Keymap editor";
|
||||
url = "https://nickcoutsos.github.io/keymap-editor/";
|
||||
} {
|
||||
name = "Bitcoin dashboard";
|
||||
url = "http://hosea.home:60845";
|
||||
} ];
|
||||
} ];
|
||||
} ]
|
||||
[{
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [{
|
||||
name = "Ansible";
|
||||
bookmarks = [{
|
||||
name = "Collection Index";
|
||||
url = "https://docs.ansible.com/ansible/latest/collections/index.html";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Church";
|
||||
bookmarks = [{
|
||||
name = "DC4K";
|
||||
url = "https://www.dc4k.org/leaderzone/articles";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "IVR";
|
||||
bookmarks = [{
|
||||
name = "Dev";
|
||||
bookmarks = [{
|
||||
name = "Core Survey";
|
||||
url = "https://webdev5.ivrtechnology.com/coreservices/survey/admin/";
|
||||
}
|
||||
{
|
||||
name = "Audio";
|
||||
url = "https://apidev1.ivrtechnology.com/coreservices/audio/admin/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "HC";
|
||||
bookmarks = [{
|
||||
name = "Audio";
|
||||
url = "https://hcweb3.ivrtechnology.com/coreservices/audio/admin/";
|
||||
}
|
||||
{
|
||||
name = "Survey";
|
||||
url = "https://hcweb2.ivrtechnology.com/coreservices/survey/admin/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "PCI";
|
||||
bookmarks = [{
|
||||
name = "Audio";
|
||||
url = "https://pciweb3.ivrtechnology.com/coreservices/audio/admin/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Processes";
|
||||
bookmarks = [{
|
||||
name = "Change Management";
|
||||
url = "https://ivrtg.atlassian.net/wiki/spaces/ITS/pages/13094842/Executing+Change+Management";
|
||||
}
|
||||
{
|
||||
name = "Okta";
|
||||
url = "https://engagesmart.okta.com/";
|
||||
}
|
||||
{
|
||||
name = "DB Request";
|
||||
url = "https://ivrtg.aha.io/develop/features/INFR-1073";
|
||||
}];
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Katie";
|
||||
bookmarks = [{
|
||||
name = "Sports Forms";
|
||||
url = "https://midlothianisd.rankone.com/New/NewStudentList.aspx";
|
||||
}
|
||||
{
|
||||
name = "Skyward";
|
||||
url = "https://skyward.iscorp.com/MidlothianISDTXStuSTS/Session/Signin?area=Home&controller=Home&action=Index&logoutreason=TimedOut";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Nix";
|
||||
bookmarks = [{
|
||||
name = "Package Versions";
|
||||
url = "https://lazamar.co.uk/nix-versions/?channel=nixpkgs-unstable&package=python3";
|
||||
}
|
||||
{
|
||||
name = "Channel status";
|
||||
url = "https://status.nixos.org/";
|
||||
}
|
||||
{
|
||||
name = "Home Manager options";
|
||||
url = "https://nix-community.github.io/home-manager/options.xhtml";
|
||||
}
|
||||
{
|
||||
name = "Flake Parts";
|
||||
url = "https://community.flake.parts/";
|
||||
}
|
||||
{
|
||||
name = "Language ref";
|
||||
url = "https://nix.dev/manual/nix/latest/language/index.html";
|
||||
}
|
||||
{
|
||||
name = "Builtin functions";
|
||||
url = "https://nix.dev/manual/nix/latest/language/builtins.html";
|
||||
}
|
||||
{
|
||||
name = "Nixpkgs functions";
|
||||
url = "https://ryantm.github.io/nixpkgs/functions/library/strings/#sec-functions-library-strings";
|
||||
}
|
||||
{
|
||||
name = "NUR search";
|
||||
url = "https://nur.nix-community.org/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Rust";
|
||||
bookmarks = [{
|
||||
name = "Learn Rust";
|
||||
url = "https://www.rust-lang.org/learn";
|
||||
}
|
||||
{
|
||||
name = "Rust by Example";
|
||||
url = "https://doc.rust-lang.org/rust-by-example/hello.html";
|
||||
}
|
||||
{
|
||||
name = "Iced";
|
||||
url = "https://docs.rs/iced/latest/iced/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Shopping";
|
||||
bookmarks = [{
|
||||
name = "Cables";
|
||||
url = "https://www.pchcables.com";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "SubTo";
|
||||
bookmarks = [{
|
||||
name = "Kajabi";
|
||||
url = "https://www.subtocourse.com/login";
|
||||
}
|
||||
{
|
||||
name = "SubTo Fund";
|
||||
url = "https://frontend.koreconx.com/auth/login";
|
||||
}
|
||||
{
|
||||
name = "Creive Title";
|
||||
url = "https://getcreativetitle.com/";
|
||||
}
|
||||
{
|
||||
name = "REI Scripts";
|
||||
url = "https://reiconveyorbelt.com/no-excuses/";
|
||||
}];
|
||||
}
|
||||
{
|
||||
name = "Tools";
|
||||
bookmarks = [{
|
||||
name = "Password Hash";
|
||||
url = "https://unix4lyfe.org/crypt/";
|
||||
}
|
||||
{
|
||||
name = "Keymap editor";
|
||||
url = "https://nickcoutsos.github.io/keymap-editor/";
|
||||
}
|
||||
{
|
||||
name = "Bitcoin dashboard";
|
||||
url = "http://hosea.home:60845";
|
||||
}];
|
||||
}];
|
||||
}]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
options.greg.pypackage = lib.mkOption {
|
||||
description = "Enable Gnome support and settings";
|
||||
type = lib.types.package;
|
||||
default = pkgs.gregpy;
|
||||
};
|
||||
options.greg.pypackage = lib.mkOption {
|
||||
description = "Enable Gnome support and settings";
|
||||
type = lib.types.package;
|
||||
default = pkgs.gregpy;
|
||||
};
|
||||
|
||||
config.home.packages = [ config.greg.pypackage ];
|
||||
config.home.packages = [ config.greg.pypackage ];
|
||||
}
|
||||
|
||||
+98
-95
@@ -1,103 +1,106 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.greg.sway;
|
||||
file_browser = {
|
||||
pkg = pkgs.krusader;
|
||||
path = "${pkgs.krusader}/bin/krusader";
|
||||
};
|
||||
term = "${pkgs.alacritty}/bin/alacritty";
|
||||
msg = "${pkgs.sway}/bin/swaymsg";
|
||||
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||
workstation1 = pkgs.writeScriptBin "workstation1" (builtins.concatStringsSep "\n" [
|
||||
"${msg} \"workspace 1 ; exec ${pkgs.firefox}/bin/firefox ; split horizontal ; exec ${pkgs.element-desktop}/bin/element-desktop \""
|
||||
"${sleep} 1"
|
||||
"${msg} '[app_id=\"firefox\"]' move left"
|
||||
"${msg} '[instance=\"element\"]' \"layout tabbed ; exec ${term} \""
|
||||
"${msg} '[app_id=\"firefox\"]' move left"
|
||||
"${sleep} 0.3"
|
||||
"${msg} '[app_id=\"Alacritty\" workspace=\"1\"]' move right"
|
||||
"${msg} '[app_id=\"firefox\"]' resize grow width 300 px"
|
||||
]);
|
||||
workstation2 = pkgs.writeScriptBin "workstation2" (builtins.concatStringsSep "\n" [
|
||||
"${sleep} 5"
|
||||
"${msg} \"workspace 2 ; exec ${term} ; layout tabbed\""
|
||||
]);
|
||||
in {
|
||||
options.greg.sway = lib.mkEnableOption "Enable Sway support and settings";
|
||||
cfg = config.greg.sway;
|
||||
file_browser = {
|
||||
pkg = pkgs.krusader;
|
||||
path = "${pkgs.krusader}/bin/krusader";
|
||||
};
|
||||
term = "${pkgs.alacritty}/bin/alacritty";
|
||||
msg = "${pkgs.sway}/bin/swaymsg";
|
||||
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||
workstation1 = pkgs.writeScriptBin "workstation1" (builtins.concatStringsSep "\n" [
|
||||
"${msg} \"workspace 1 ; exec ${pkgs.firefox}/bin/firefox ; split horizontal ; exec ${pkgs.element-desktop}/bin/element-desktop \""
|
||||
"${sleep} 1"
|
||||
"${msg} '[app_id=\"firefox\"]' move left"
|
||||
"${msg} '[instance=\"element\"]' \"layout tabbed ; exec ${term} \""
|
||||
"${msg} '[app_id=\"firefox\"]' move left"
|
||||
"${sleep} 0.3"
|
||||
"${msg} '[app_id=\"Alacritty\" workspace=\"1\"]' move right"
|
||||
"${msg} '[app_id=\"firefox\"]' resize grow width 300 px"
|
||||
]);
|
||||
workstation2 = pkgs.writeScriptBin "workstation2" (builtins.concatStringsSep "\n" [
|
||||
"${sleep} 5"
|
||||
"${msg} \"workspace 2 ; exec ${term} ; layout tabbed\""
|
||||
]);
|
||||
in
|
||||
{
|
||||
options.greg.sway = lib.mkEnableOption "Enable Sway support and settings";
|
||||
|
||||
config = (lib.mkIf cfg {
|
||||
programs.swaylock.enable = true;
|
||||
config = (lib.mkIf cfg {
|
||||
programs.swaylock.enable = true;
|
||||
|
||||
wayland.windowManager.sway = let
|
||||
mod = config.wayland.windowManager.sway.config.modifier;
|
||||
in {
|
||||
enable = true;
|
||||
config = rec {
|
||||
#fonts.size = 10.0;
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"Mod4+l" = "exec ${pkgs.swaylock}/bin/swaylock -c 000000";
|
||||
"Mod4+h" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/headphones.qpwgraph -m";
|
||||
"Mod4+m" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/monitor.qpwgraph -m";
|
||||
"Mod4+b" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/both.qpwgraph -m";
|
||||
wayland.windowManager.sway =
|
||||
let
|
||||
mod = config.wayland.windowManager.sway.config.modifier;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
config = rec {
|
||||
#fonts.size = 10.0;
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"Mod4+l" = "exec ${pkgs.swaylock}/bin/swaylock -c 000000";
|
||||
"Mod4+h" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/headphones.qpwgraph -m";
|
||||
"Mod4+m" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/monitor.qpwgraph -m";
|
||||
"Mod4+b" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/both.qpwgraph -m";
|
||||
|
||||
"${mod}+Shift+Return" = file_browser.path;
|
||||
};
|
||||
modifier = "Mod1";
|
||||
output = {
|
||||
"Samsung Electric Company S24E650 H4ZN600985" = {
|
||||
mode = "1920x1200";
|
||||
transform = "90";
|
||||
pos = "0 0";
|
||||
};
|
||||
"ViewSonic Corporation VA2252 Series VMT201800925" = {
|
||||
mode = "1920x1080";
|
||||
pos = "200 1920";
|
||||
};
|
||||
};
|
||||
terminal = term;
|
||||
startup = [
|
||||
{ command = "${workstation1}/bin/workstation1"; }
|
||||
{ command = "${workstation2}/bin/workstation2"; }
|
||||
];
|
||||
};
|
||||
extraOptions = [
|
||||
"--unsupported-gpu"
|
||||
];
|
||||
extraSessionCommands = ''
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
'';
|
||||
systemd.enable = true;
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
size = 12;
|
||||
x11 = {
|
||||
enable = true;
|
||||
defaultCursor = "Adwaita";
|
||||
};
|
||||
};
|
||||
"${mod}+Shift+Return" = file_browser.path;
|
||||
};
|
||||
modifier = "Mod1";
|
||||
output = {
|
||||
"Samsung Electric Company S24E650 H4ZN600985" = {
|
||||
mode = "1920x1200";
|
||||
transform = "90";
|
||||
pos = "0 0";
|
||||
};
|
||||
"ViewSonic Corporation VA2252 Series VMT201800925" = {
|
||||
mode = "1920x1080";
|
||||
pos = "200 1920";
|
||||
};
|
||||
};
|
||||
terminal = term;
|
||||
startup = [
|
||||
{ command = "${workstation1}/bin/workstation1"; }
|
||||
{ command = "${workstation2}/bin/workstation2"; }
|
||||
];
|
||||
};
|
||||
extraOptions = [
|
||||
"--unsupported-gpu"
|
||||
];
|
||||
extraSessionCommands = ''
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
'';
|
||||
systemd.enable = true;
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
arj
|
||||
dpkg
|
||||
kate
|
||||
kget
|
||||
krename
|
||||
file_browser.pkg
|
||||
p7zip
|
||||
plocate
|
||||
rpm
|
||||
qpwgraph
|
||||
xorg.xev
|
||||
xorg.xmodmap
|
||||
xxdiff
|
||||
];
|
||||
});
|
||||
home.pointerCursor = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
size = 12;
|
||||
x11 = {
|
||||
enable = true;
|
||||
defaultCursor = "Adwaita";
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
arj
|
||||
dpkg
|
||||
kate
|
||||
kget
|
||||
krename
|
||||
file_browser.pkg
|
||||
p7zip
|
||||
plocate
|
||||
rpm
|
||||
qpwgraph
|
||||
xorg.xev
|
||||
xorg.xmodmap
|
||||
xxdiff
|
||||
];
|
||||
});
|
||||
}
|
||||
|
||||
+52
-51
@@ -1,57 +1,58 @@
|
||||
{ pkgs, config, lib, inputs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.greg.vscodium;
|
||||
in {
|
||||
options.greg.vscodium = lib.mkEnableOption "Enable installation of VSCodium on the host";
|
||||
cfg = config.greg.vscodium;
|
||||
in
|
||||
{
|
||||
options.greg.vscodium = lib.mkEnableOption "Enable installation of VSCodium on the host";
|
||||
|
||||
config = lib.mkIf cfg {
|
||||
home.packages = with pkgs; [
|
||||
buildifier
|
||||
gopls
|
||||
nixd # nix language server
|
||||
];
|
||||
config = lib.mkIf cfg {
|
||||
home.packages = with pkgs; [
|
||||
buildifier
|
||||
gopls
|
||||
nixd # nix language server
|
||||
];
|
||||
|
||||
# An alternative editor to vim, when I need it for some things
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with inputs.vsext.extensions."${pkgs.stdenv.system}".vscode-marketplace; [
|
||||
arrterian.nix-env-selector
|
||||
asvetliakov.vscode-neovim
|
||||
batisteo.vscode-django
|
||||
bungcip.better-toml
|
||||
donjayamanne.python-environment-manager
|
||||
golang.go
|
||||
kevinrose.vsc-python-indent
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
ms-python.python
|
||||
njpwerner.autodocstring
|
||||
rust-lang.rust-analyzer
|
||||
vscjava.vscode-java-test
|
||||
vscjava.vscode-java-dependency
|
||||
vscjava.vscode-java-debug
|
||||
wholroyd.jinja
|
||||
];
|
||||
userSettings = {
|
||||
"direnv.restart.automatic" = true;
|
||||
"direnv.path.executable" = "/home/gregory.hellings/.nix-profile/bin/direnv";
|
||||
"extensions.autoUpdate" = false;
|
||||
"extensions.experimental.affinity" = {
|
||||
"asvetliakov.vscode-neovim" = 1;
|
||||
};
|
||||
"git.openRepositoryInParentFolders" = "always";
|
||||
"search.exclude" = {
|
||||
"**/.tox" = true;
|
||||
};
|
||||
"terminal.integrated.defaultProfile.linux" = "tmux";
|
||||
"vscode-neovim.neovimInitVimPaths.darwin" = "~/.config/nvim/init.lua";
|
||||
"vscode-neovim.neovimInitVimPaths.linux" = "~/.config/nvim/init.lua";
|
||||
"workbench.settings.applyToAllProfiles" = [
|
||||
"direnv.path.executable"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
# An alternative editor to vim, when I need it for some things
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with inputs.vsext.extensions."${pkgs.stdenv.system}".vscode-marketplace; [
|
||||
arrterian.nix-env-selector
|
||||
asvetliakov.vscode-neovim
|
||||
batisteo.vscode-django
|
||||
bungcip.better-toml
|
||||
donjayamanne.python-environment-manager
|
||||
golang.go
|
||||
kevinrose.vsc-python-indent
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
ms-python.python
|
||||
njpwerner.autodocstring
|
||||
rust-lang.rust-analyzer
|
||||
vscjava.vscode-java-test
|
||||
vscjava.vscode-java-dependency
|
||||
vscjava.vscode-java-debug
|
||||
wholroyd.jinja
|
||||
];
|
||||
userSettings = {
|
||||
"direnv.restart.automatic" = true;
|
||||
"direnv.path.executable" = "/home/gregory.hellings/.nix-profile/bin/direnv";
|
||||
"extensions.autoUpdate" = false;
|
||||
"extensions.experimental.affinity" = {
|
||||
"asvetliakov.vscode-neovim" = 1;
|
||||
};
|
||||
"git.openRepositoryInParentFolders" = "always";
|
||||
"search.exclude" = {
|
||||
"**/.tox" = true;
|
||||
};
|
||||
"terminal.integrated.defaultProfile.linux" = "tmux";
|
||||
"vscode-neovim.neovimInitVimPaths.darwin" = "~/.config/nvim/init.lua";
|
||||
"vscode-neovim.neovimInitVimPaths.linux" = "~/.config/nvim/init.lua";
|
||||
"workbench.settings.applyToAllProfiles" = [
|
||||
"direnv.path.executable"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+83
-77
@@ -1,94 +1,100 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.xonsh;
|
||||
cfg = config.programs.xonsh;
|
||||
|
||||
in with lib; {
|
||||
options = {
|
||||
programs.xonsh = {
|
||||
enable = mkEnableOption "Enable the xonsh program";
|
||||
in
|
||||
with lib; {
|
||||
options = {
|
||||
programs.xonsh = {
|
||||
enable = mkEnableOption "Enable the xonsh program";
|
||||
|
||||
sessionVariables = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
example = { XONSH_TRACE_SUBPROC = true; };
|
||||
description = ''
|
||||
Environment variables that will be set for the Xonsh session.
|
||||
'';
|
||||
};
|
||||
sessionVariables = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
example = { XONSH_TRACE_SUBPROC = true; };
|
||||
description = ''
|
||||
Environment variables that will be set for the Xonsh session.
|
||||
'';
|
||||
};
|
||||
|
||||
aliases = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = literalExpression ''
|
||||
{
|
||||
ll = "ls -l";
|
||||
la = "ls -a";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
An attribute set that maps aliases (the top level attribute names in
|
||||
this option) to command strings or directly to build outputs.
|
||||
'';
|
||||
};
|
||||
aliases = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
ll = "ls -l";
|
||||
la = "ls -a";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
An attribute set that maps aliases (the top level attribute names in
|
||||
this option) to command strings or directly to build outputs.
|
||||
'';
|
||||
};
|
||||
|
||||
configHeader = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExpression ''
|
||||
import os
|
||||
import sys
|
||||
'';
|
||||
description = "An arbitrary string to put at the top of the config file";
|
||||
};
|
||||
configHeader = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExpression ''
|
||||
import os
|
||||
import sys
|
||||
'';
|
||||
description = "An arbitrary string to put at the top of the config file";
|
||||
};
|
||||
|
||||
configFooter = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExpression ''
|
||||
def _some_method(args):
|
||||
do_command()
|
||||
some_other_thing()
|
||||
aliases['some_method'] = _some_method
|
||||
'';
|
||||
description = "An arbitrary string to put at the end of the config file";
|
||||
};
|
||||
};
|
||||
};
|
||||
configFooter = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExpression ''
|
||||
def _some_method(args):
|
||||
do_command()
|
||||
some_other_thing()
|
||||
aliases['some_method'] = _some_method
|
||||
'';
|
||||
description = "An arbitrary string to put at the end of the config file";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
shortAliases = concatStringsSep "\n" (
|
||||
mapAttrsToList (k: v: "aliases['${k}']=r'${v}'") cfg.aliases
|
||||
);
|
||||
config =
|
||||
let
|
||||
shortAliases = concatStringsSep "\n" (
|
||||
mapAttrsToList (k: v: "aliases['${k}']=r'${v}'") cfg.aliases
|
||||
);
|
||||
|
||||
listToPythonList = let
|
||||
listInternals = args:
|
||||
concatStringsSep "\n" (map (v: "'${v}'") args);
|
||||
in list: "[${listInternals list}]";
|
||||
listToPythonList =
|
||||
let
|
||||
listInternals = args:
|
||||
concatStringsSep "\n" (map (v: "'${v}'") args);
|
||||
in
|
||||
list: "[${listInternals list}]";
|
||||
|
||||
sessionVars = concatStringsSep "\n" (
|
||||
mapAttrsToList (k: v:
|
||||
if builtins.typeOf v == "string" then
|
||||
"\$${k} = '${v}'"
|
||||
else if builtins.typeOf v == "list" then
|
||||
"\$${k} = ${listToPythonList}"
|
||||
else if builtins.typeOf v == "int" then
|
||||
"\$${k} = ${toString v}"
|
||||
else ""
|
||||
) cfg.sessionVariables
|
||||
);
|
||||
sessionVars = concatStringsSep "\n" (
|
||||
mapAttrsToList
|
||||
(k: v:
|
||||
if builtins.typeOf v == "string" then
|
||||
"\$${k} = '${v}'"
|
||||
else if builtins.typeOf v == "list" then
|
||||
"\$${k} = ${listToPythonList}"
|
||||
else if builtins.typeOf v == "int" then
|
||||
"\$${k} = ${toString v}"
|
||||
else ""
|
||||
)
|
||||
cfg.sessionVariables
|
||||
);
|
||||
|
||||
in mkIf cfg.enable {
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
|
||||
home.file.".xonshrc".text = ''
|
||||
${cfg.configHeader}
|
||||
home.file.".xonshrc".text = ''
|
||||
${cfg.configHeader}
|
||||
|
||||
${sessionVars}
|
||||
${sessionVars}
|
||||
|
||||
${shortAliases}
|
||||
${shortAliases}
|
||||
|
||||
${cfg.configFooter}
|
||||
'';
|
||||
};
|
||||
${cfg.configFooter}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user