chore: nixfmt *
This commit is contained in:
parent
aae3fd4090
commit
47c5c9dc56
161 changed files with 2693 additions and 3029 deletions
|
@ -1,16 +1,13 @@
|
|||
{ pkgs }:
|
||||
|
||||
let
|
||||
zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
in
|
||||
let zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
|
||||
{ pkgs
|
||||
, config
|
||||
, ... }:
|
||||
in { pkgs, config, ... }:
|
||||
|
||||
let
|
||||
# gitpkgs = import /home/steveej/src/github/NixOS/nixpkgs {};
|
||||
unstablepkgs = import <channels-nixos-unstable-small> { config = config.nixpkgs.config; };
|
||||
unstablepkgs =
|
||||
import <channels-nixos-unstable-small> { config = config.nixpkgs.config; };
|
||||
masterpkgs = import <nixpkgs-master> { config = config.nixpkgs.config; };
|
||||
|
||||
in {
|
||||
|
@ -37,274 +34,255 @@ in {
|
|||
gnutls = true;
|
||||
};
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
};
|
||||
packageOverrides = pkgs: with pkgs; { };
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
# TODO: find a way to prevent using a store path for the current file
|
||||
# HM_CONFIG_PATH=builtins.toString "${./.}";
|
||||
HM_CONFIG="graphical-fullblown";
|
||||
HM_CONFIG = "graphical-fullblown";
|
||||
|
||||
GOPATH="$HOME/src/go";
|
||||
GOPATH = "$HOME/src/go";
|
||||
|
||||
PATH=pkgs.lib.concatStringsSep ":" [
|
||||
"$HOME/.local/bin"
|
||||
"$PATH"
|
||||
];
|
||||
PATH = pkgs.lib.concatStringsSep ":" [ "$HOME/.local/bin" "$PATH" ];
|
||||
};
|
||||
|
||||
home.packages = []
|
||||
++ (with pkgs; [
|
||||
# Authentication
|
||||
cacert
|
||||
fprintd
|
||||
openssl
|
||||
mkpasswd
|
||||
home.packages = [ ] ++ (with pkgs; [
|
||||
# Authentication
|
||||
cacert
|
||||
fprintd
|
||||
openssl
|
||||
mkpasswd
|
||||
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nox
|
||||
nix-prefetch-scripts
|
||||
nix-prefetch-github
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nox
|
||||
nix-prefetch-scripts
|
||||
nix-prefetch-github
|
||||
|
||||
# Version Control Systems
|
||||
pijul
|
||||
gitless
|
||||
gitRepo
|
||||
git-lfs
|
||||
# Version Control Systems
|
||||
pijul
|
||||
gitless
|
||||
gitRepo
|
||||
git-lfs
|
||||
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
|
||||
# Password Management
|
||||
gnupg
|
||||
yubikey-manager
|
||||
yubikey-manager-qt
|
||||
yubikey-personalization
|
||||
yubikey-personalization-gui
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
# Password Management
|
||||
gnupg
|
||||
yubikey-manager
|
||||
yubikey-manager-qt
|
||||
yubikey-personalization
|
||||
yubikey-personalization-gui
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
|
||||
# Language Support
|
||||
hunspellDicts.en-us
|
||||
hunspellDicts.de-de
|
||||
# Language Support
|
||||
hunspellDicts.en-us
|
||||
hunspellDicts.de-de
|
||||
|
||||
# Messaging/Communication
|
||||
signal-desktop
|
||||
pidgin
|
||||
hexchat
|
||||
aspellDicts.en
|
||||
aspellDicts.de
|
||||
skypeforlinux
|
||||
unstablepkgs.jitsi-meet-electron
|
||||
unstablepkgs.zoom-us
|
||||
thunderbird
|
||||
evolution # gnome4.glib_networking
|
||||
kotatogram-desktop
|
||||
gnome.cheese
|
||||
masterpkgs.discord
|
||||
# Messaging/Communication
|
||||
signal-desktop
|
||||
pidgin
|
||||
hexchat
|
||||
aspellDicts.en
|
||||
aspellDicts.de
|
||||
skypeforlinux
|
||||
unstablepkgs.jitsi-meet-electron
|
||||
unstablepkgs.zoom-us
|
||||
thunderbird
|
||||
evolution # gnome4.glib_networking
|
||||
kotatogram-desktop
|
||||
gnome.cheese
|
||||
masterpkgs.discord
|
||||
|
||||
# Virtualization
|
||||
virtmanager
|
||||
# (pkgs.lib.hiPrio qemu)
|
||||
# virtualbox
|
||||
# vagrant
|
||||
# docker_compose
|
||||
# unstablepkgs.kubernetes
|
||||
# unstablepkgs.minikube
|
||||
# unstablepkgs.openshift
|
||||
# (unstablepkgs.minikube.overrideAttrs (oldAttrs: {
|
||||
# patches = oldAttrs.patches ++ [
|
||||
# (builtins.fetchurl { url ="https://patch-diff.githubusercontent.com/raw/kubernetes/minikube/pull/2517.diff"; })
|
||||
# ];
|
||||
# }))
|
||||
appimage-run
|
||||
# Virtualization
|
||||
virtmanager
|
||||
# (pkgs.lib.hiPrio qemu)
|
||||
# virtualbox
|
||||
# vagrant
|
||||
# docker_compose
|
||||
# unstablepkgs.kubernetes
|
||||
# unstablepkgs.minikube
|
||||
# unstablepkgs.openshift
|
||||
# (unstablepkgs.minikube.overrideAttrs (oldAttrs: {
|
||||
# patches = oldAttrs.patches ++ [
|
||||
# (builtins.fetchurl { url ="https://patch-diff.githubusercontent.com/raw/kubernetes/minikube/pull/2517.diff"; })
|
||||
# ];
|
||||
# }))
|
||||
appimage-run
|
||||
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
teamviewer
|
||||
rustdesk
|
||||
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
teamviewer
|
||||
rustdesk
|
||||
# Audio/Video Players
|
||||
ffmpeg
|
||||
vlc
|
||||
audacity
|
||||
spotify
|
||||
youtube-dl-light
|
||||
libwebcam
|
||||
|
||||
# Audio/Video Players
|
||||
ffmpeg
|
||||
vlc
|
||||
audacity
|
||||
spotify
|
||||
youtube-dl-light
|
||||
libwebcam
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
# 2019-03-05: broken on 19.03 linssid
|
||||
iptraf-ng
|
||||
ipmitool
|
||||
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
# 2019-03-05: broken on 19.03 linssid
|
||||
iptraf-ng
|
||||
ipmitool
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
# Code Editors
|
||||
# unstablepkgs.atom
|
||||
xclip
|
||||
xsel
|
||||
|
||||
# Code Editors
|
||||
# unstablepkgs.atom
|
||||
xclip
|
||||
xsel
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
imagemagick
|
||||
exiv2
|
||||
graphviz
|
||||
inkscape
|
||||
# barcode
|
||||
qrencode
|
||||
zbar
|
||||
feh
|
||||
# digikam
|
||||
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
imagemagick
|
||||
exiv2
|
||||
graphviz
|
||||
inkscape
|
||||
# barcode
|
||||
qrencode
|
||||
zbar
|
||||
feh
|
||||
# digikam
|
||||
# Modelling Tools
|
||||
# plantuml
|
||||
# umlet
|
||||
# staruml
|
||||
# eclipses.eclipse-modeling
|
||||
# dia
|
||||
# astah-community
|
||||
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
# travis
|
||||
jq
|
||||
# prometheus
|
||||
cdrtools
|
||||
|
||||
# Modelling Tools
|
||||
# plantuml
|
||||
# umlet
|
||||
# staruml
|
||||
# eclipses.eclipse-modeling
|
||||
# dia
|
||||
# astah-community
|
||||
# Document Processing and Management
|
||||
# zathura
|
||||
mendeley
|
||||
# zotero
|
||||
pandoc
|
||||
unstablepkgs.logseq
|
||||
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
# travis
|
||||
jq
|
||||
# prometheus
|
||||
cdrtools
|
||||
# has an EOL version of electron
|
||||
# obsidian
|
||||
|
||||
# Document Processing and Management
|
||||
# zathura
|
||||
mendeley
|
||||
# zotero
|
||||
pandoc
|
||||
unstablepkgs.logseq
|
||||
# LaTeX
|
||||
perlPackages.YAMLTiny
|
||||
perlPackages.FileHomeDir
|
||||
perlPackages.UnicodeLineBreak
|
||||
(texlive.combine {
|
||||
inherit (texlive)
|
||||
scheme-small texlive-de texlive-en texlive-scripts collection-langgerman
|
||||
|
||||
# has an EOL version of electron
|
||||
# obsidian
|
||||
latexindent latexmk
|
||||
|
||||
# LaTeX
|
||||
perlPackages.YAMLTiny
|
||||
perlPackages.FileHomeDir
|
||||
perlPackages.UnicodeLineBreak
|
||||
(texlive.combine {
|
||||
inherit (texlive)
|
||||
scheme-small
|
||||
texlive-de
|
||||
texlive-en
|
||||
texlive-scripts
|
||||
collection-langgerman
|
||||
algorithms cm-super
|
||||
|
||||
latexindent
|
||||
latexmk
|
||||
preprint enumitem draftwatermark everypage ulem placeins minted
|
||||
ifplatform fvextra xstring framed;
|
||||
})
|
||||
|
||||
algorithms
|
||||
cm-super
|
||||
pdftk
|
||||
# broken as of 2021-04-24
|
||||
# masterpdfeditor
|
||||
|
||||
preprint
|
||||
enumitem
|
||||
draftwatermark
|
||||
everypage
|
||||
ulem
|
||||
placeins
|
||||
minted ifplatform fvextra xstring framed
|
||||
;
|
||||
})
|
||||
# File Synchronzation
|
||||
# seafile-client
|
||||
# grive2
|
||||
dropbox
|
||||
rsync
|
||||
|
||||
pdftk
|
||||
# broken as of 2021-04-24
|
||||
# masterpdfeditor
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
binwalk
|
||||
gptfdisk
|
||||
gparted
|
||||
smartmontools
|
||||
|
||||
# File Synchronzation
|
||||
# seafile-client
|
||||
# grive2
|
||||
dropbox
|
||||
rsync
|
||||
## Android
|
||||
androidenv.androidPkgs_9_0.platform-tools
|
||||
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
binwalk
|
||||
gptfdisk
|
||||
gparted
|
||||
smartmontools
|
||||
## Python
|
||||
myPython
|
||||
|
||||
## Android
|
||||
androidenv.androidPkgs_9_0.platform-tools
|
||||
# Code generators
|
||||
# unstablepkgs.swagger-codegen
|
||||
|
||||
## Python
|
||||
myPython
|
||||
# Misc Desktop Tools
|
||||
# TODO: this may be required if brightness control isn't working
|
||||
# brightnessctl
|
||||
ltunify
|
||||
# solaar # TODO: conflicts with solar over udev rules
|
||||
dex
|
||||
# kitty
|
||||
busyboxStatic
|
||||
xorg.xbacklight
|
||||
coreutils
|
||||
lsof
|
||||
x11_ssh_askpass
|
||||
xdotool
|
||||
xdg_utils
|
||||
xdg-user-dirs
|
||||
dconf
|
||||
picocom
|
||||
glib.dev # contains gdbus tool
|
||||
alacritty
|
||||
unstablepkgs.wally-cli
|
||||
man-pages
|
||||
|
||||
# Code generators
|
||||
# unstablepkgs.swagger-codegen
|
||||
# Screen recording
|
||||
# gtk-recordmydesktop # can't select the window
|
||||
# qt-recordmydesktop
|
||||
# vokoscreen
|
||||
# shutter
|
||||
# kazam # doesn't start
|
||||
# xvidcap # doesn't keep the recording rectangle
|
||||
obs-studio
|
||||
screenkey
|
||||
# shotcut
|
||||
# openshot-qt
|
||||
|
||||
# Misc Desktop Tools
|
||||
# TODO: this may be required if brightness control isn't working
|
||||
# brightnessctl
|
||||
ltunify
|
||||
# solaar # TODO: conflicts with solar over udev rules
|
||||
dex
|
||||
# kitty
|
||||
busyboxStatic
|
||||
xorg.xbacklight
|
||||
coreutils
|
||||
lsof
|
||||
x11_ssh_askpass
|
||||
xdotool
|
||||
xdg_utils
|
||||
xdg-user-dirs
|
||||
dconf
|
||||
picocom
|
||||
glib.dev # contains gdbus tool
|
||||
alacritty
|
||||
unstablepkgs.wally-cli
|
||||
man-pages
|
||||
|
||||
# Screen recording
|
||||
# gtk-recordmydesktop # can't select the window
|
||||
# qt-recordmydesktop
|
||||
# vokoscreen
|
||||
# shutter
|
||||
# kazam # doesn't start
|
||||
# xvidcap # doesn't keep the recording rectangle
|
||||
obs-studio
|
||||
screenkey
|
||||
# shotcut
|
||||
# openshot-qt
|
||||
|
||||
unstablepkgs.ledger-live-desktop
|
||||
unstablepkgs.ledger-live-desktop
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
{ pkgs }:
|
||||
|
||||
let
|
||||
zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
in
|
||||
let zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
|
||||
{ pkgs
|
||||
, config,
|
||||
... }:
|
||||
in { pkgs, config, ... }:
|
||||
|
||||
let
|
||||
unstablepkgs = import <channels-nixos-unstable> { config = config.nixpkgs.config; };
|
||||
unstablepkgs =
|
||||
import <channels-nixos-unstable> { config = config.nixpkgs.config; };
|
||||
|
||||
in {
|
||||
imports = [
|
||||
|
@ -30,100 +27,96 @@ in {
|
|||
gnutls = true;
|
||||
};
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
};
|
||||
packageOverrides = pkgs: with pkgs; { };
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
};
|
||||
home.sessionVariables = { };
|
||||
|
||||
home.packages = [ ] ++ (with pkgs; [
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
|
||||
home.packages =
|
||||
[] ++ (with pkgs; [
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
# Version Control Systems
|
||||
gitless
|
||||
|
||||
# Version Control Systems
|
||||
gitless
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
# Password Management
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
|
||||
# Password Management
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
# Code Editors
|
||||
xclip
|
||||
xsel
|
||||
unstablepkgs.vscode
|
||||
|
||||
# Code Editors
|
||||
xclip
|
||||
xsel
|
||||
unstablepkgs.vscode
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
inkscape
|
||||
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
inkscape
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
jq
|
||||
cdrtools
|
||||
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
jq
|
||||
cdrtools
|
||||
# Document Processing and Management
|
||||
zathura
|
||||
|
||||
# Document Processing and Management
|
||||
zathura
|
||||
# File Synchronzation
|
||||
rsync
|
||||
|
||||
# File Synchronzation
|
||||
rsync
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
unstablepkgs.woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
python38Packages.binwalk
|
||||
gptfdisk
|
||||
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
unstablepkgs.woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
python38Packages.binwalk
|
||||
gptfdisk
|
||||
## Python
|
||||
myPython
|
||||
|
||||
## Python
|
||||
myPython
|
||||
busyboxStatic
|
||||
|
||||
busyboxStatic
|
||||
|
||||
# Virtualization
|
||||
virtmanager
|
||||
# Virtualization
|
||||
virtmanager
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
{ pkgs }:
|
||||
|
||||
let
|
||||
zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
in
|
||||
let zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
|
||||
{ pkgs
|
||||
, config,
|
||||
... }:
|
||||
in { pkgs, config, ... }:
|
||||
|
||||
let
|
||||
unstablepkgs = import <channels-nixos-unstable> { config = config.nixpkgs.config; };
|
||||
unstablepkgs =
|
||||
import <channels-nixos-unstable> { config = config.nixpkgs.config; };
|
||||
|
||||
in {
|
||||
imports = [
|
||||
|
@ -32,100 +29,96 @@ in {
|
|||
gnutls = true;
|
||||
};
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
};
|
||||
packageOverrides = pkgs: with pkgs; { };
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
};
|
||||
home.sessionVariables = { };
|
||||
|
||||
home.packages = [ ] ++ (with pkgs; [
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
|
||||
home.packages =
|
||||
[] ++ (with pkgs; [
|
||||
# Nix package related tools
|
||||
patchelf
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
# Version Control Systems
|
||||
gitless
|
||||
|
||||
# Version Control Systems
|
||||
gitless
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
|
||||
# Process/System Administration
|
||||
htop
|
||||
gnome.gnome-tweaks
|
||||
xorg.xhost
|
||||
dmidecode
|
||||
evtest
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
|
||||
# Archive Managers
|
||||
sshfs-fuse
|
||||
xarchive
|
||||
p7zip
|
||||
zip
|
||||
unzip
|
||||
gzip
|
||||
lzop
|
||||
# Password Management
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
|
||||
# Password Management
|
||||
gnome.gnome-keyring
|
||||
gnome.seahorse
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
|
||||
# Remote Control Tools
|
||||
remmina
|
||||
freerdp
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
|
||||
# Network Tools
|
||||
openvpn
|
||||
tcpdump
|
||||
iftop
|
||||
iperf
|
||||
bind
|
||||
socat
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
|
||||
# samba
|
||||
iptables
|
||||
nftables
|
||||
wireshark
|
||||
# Code Editors
|
||||
xclip
|
||||
xsel
|
||||
unstablepkgs.vscode
|
||||
|
||||
# Code Editors
|
||||
xclip
|
||||
xsel
|
||||
unstablepkgs.vscode
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
inkscape
|
||||
|
||||
# Image/Graphic/Design Tools
|
||||
gnome.eog
|
||||
gimp
|
||||
inkscape
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
jq
|
||||
cdrtools
|
||||
|
||||
# Misc Development Tools
|
||||
qrcode
|
||||
jq
|
||||
cdrtools
|
||||
# Document Processing and Management
|
||||
zathura
|
||||
|
||||
# Document Processing and Management
|
||||
zathura
|
||||
# File Synchronzation
|
||||
rsync
|
||||
|
||||
# File Synchronzation
|
||||
rsync
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
unstablepkgs.woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
binwalk
|
||||
gptfdisk
|
||||
|
||||
# Filesystem Tools
|
||||
ntfs3g
|
||||
ddrescue
|
||||
ncdu
|
||||
unstablepkgs.woeusb
|
||||
unetbootin
|
||||
pcmanfm
|
||||
hdparm
|
||||
testdisk
|
||||
binwalk
|
||||
gptfdisk
|
||||
## Python
|
||||
myPython
|
||||
|
||||
## Python
|
||||
myPython
|
||||
busyboxStatic
|
||||
|
||||
busyboxStatic
|
||||
|
||||
# Virtualization
|
||||
virtmanager
|
||||
# Virtualization
|
||||
virtmanager
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
{ pkgs, extraPackages ? [] }:
|
||||
{ pkgs, extraPackages ? [ ] }:
|
||||
|
||||
let
|
||||
zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
in
|
||||
let zshCurried = import ../programs/zsh.nix { inherit pkgs; };
|
||||
|
||||
{ pkgs
|
||||
, config
|
||||
, ... }:
|
||||
in { pkgs, config, ... }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -18,18 +14,10 @@ in {
|
|||
zshCurried
|
||||
];
|
||||
|
||||
nixpkgs.config = {
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
};
|
||||
};
|
||||
nixpkgs.config = { packageOverrides = pkgs: with pkgs; { }; };
|
||||
|
||||
home.sessionVariables = {
|
||||
};
|
||||
home.sessionVariables = { };
|
||||
|
||||
home.packages = extraPackages
|
||||
++ (with pkgs; [
|
||||
iperf3
|
||||
inetutils
|
||||
speedtest-cli
|
||||
]);
|
||||
++ (with pkgs; [ iperf3 inetutils speedtest-cli ]);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
}:
|
||||
{ }:
|
||||
|
||||
let
|
||||
let
|
||||
|
||||
in {
|
||||
mkSimpleTrayService = { execStart }: {
|
||||
|
@ -11,12 +10,8 @@ in {
|
|||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
|
||||
Service = {
|
||||
ExecStart = execStart;
|
||||
};
|
||||
Service = { ExecStart = execStart; };
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
let
|
||||
in {
|
||||
# TODO: re-enable this with the appropriate version
|
||||
# programs.home-manager.enable = true;
|
||||
|
@ -18,9 +16,9 @@ in {
|
|||
home.keyboard = {
|
||||
layout = "us";
|
||||
variant = "altgr-intl";
|
||||
options = [
|
||||
options = [
|
||||
"nodeadkeys"
|
||||
# "caps:swapescape"
|
||||
# "caps:swapescape"
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -36,19 +34,18 @@ in {
|
|||
programs.command-not-found.enable = true;
|
||||
programs.fzf.enable = true;
|
||||
|
||||
home.packages =
|
||||
[] ++ (with pkgs; [
|
||||
# git helpers
|
||||
git-crypt
|
||||
home.packages = [ ] ++ (with pkgs; [
|
||||
# git helpers
|
||||
git-crypt
|
||||
|
||||
vcsh
|
||||
# Authentication
|
||||
cacert
|
||||
openssl
|
||||
mkpasswd
|
||||
vcsh
|
||||
# Authentication
|
||||
cacert
|
||||
openssl
|
||||
mkpasswd
|
||||
|
||||
just
|
||||
ripgrep
|
||||
du-dust
|
||||
]);
|
||||
just
|
||||
ripgrep
|
||||
du-dust
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
{ pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
vcshActivationScript = pkgs.callPackage ./dotfiles/vcsh.nix {};
|
||||
let vcshActivationScript = pkgs.callPackage ./dotfiles/vcsh.nix { };
|
||||
|
||||
in {
|
||||
# TODO: fix the dotfiles
|
||||
|
|
|
@ -1,39 +1,36 @@
|
|||
{ pkgs
|
||||
, repoHttps ? "https://gitlab.com/steveeJ/dotfiles.git"
|
||||
, repoSsh ? "git@gitlab.com:/steveeJ/dotfiles.git"
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, repoHttps ? "https://gitlab.com/steveeJ/dotfiles.git"
|
||||
, repoSsh ? "git@gitlab.com:/steveeJ/dotfiles.git", ... }:
|
||||
|
||||
let
|
||||
repoBareLocal = pkgs.runCommand "fetchbare" {
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "0000000000000000000000000000000000000000000000000000";
|
||||
} ''
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "0000000000000000000000000000000000000000000000000000";
|
||||
} ''
|
||||
(
|
||||
set -xe
|
||||
export GIT_SSL_CAINFO=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
${pkgs.git}/bin/git clone --mirror ${repoHttps} $out
|
||||
)
|
||||
'';
|
||||
'';
|
||||
|
||||
in pkgs.writeScript "activation-script" ''
|
||||
export HOST=$(hostname -s)
|
||||
export HOST=$(hostname -s)
|
||||
|
||||
function set_remotes {
|
||||
${pkgs.vcsh}/bin/vcsh dotfiles remote set-url origin $1
|
||||
${pkgs.vcsh}/bin/vcsh dotfiles remote set-url --push origin $2
|
||||
}
|
||||
function set_remotes {
|
||||
${pkgs.vcsh}/bin/vcsh dotfiles remote set-url origin $1
|
||||
${pkgs.vcsh}/bin/vcsh dotfiles remote set-url --push origin $2
|
||||
}
|
||||
|
||||
if ! test -d $HOME/.config/vcsh/repo.d/dotfiles.git; then
|
||||
echo Cloning dotfiles for $HOST...
|
||||
${pkgs.vcsh}/bin/vcsh clone -b $HOST ${repoBareLocal} dotfiles
|
||||
set_remotes ${repoHttps} ${repoSsh}
|
||||
else
|
||||
set_remotes ${repoBareLocal} ${repoSsh}
|
||||
echo Updating dotfiles for $HOST...
|
||||
${pkgs.vcsh}/bin/vcsh pull $HOST || true
|
||||
set_remotes ${repoHttps} ${repoSsh}
|
||||
fi
|
||||
''
|
||||
if ! test -d $HOME/.config/vcsh/repo.d/dotfiles.git; then
|
||||
echo Cloning dotfiles for $HOST...
|
||||
${pkgs.vcsh}/bin/vcsh clone -b $HOST ${repoBareLocal} dotfiles
|
||||
set_remotes ${repoHttps} ${repoSsh}
|
||||
else
|
||||
set_remotes ${repoBareLocal} ${repoSsh}
|
||||
echo Updating dotfiles for $HOST...
|
||||
${pkgs.vcsh}/bin/vcsh pull $HOST || true
|
||||
set_remotes ${repoHttps} ${repoSsh}
|
||||
fi
|
||||
''
|
||||
|
|
|
@ -1,28 +1,27 @@
|
|||
{ pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
in {
|
||||
home.file.".nix-channels".text = ''
|
||||
'';
|
||||
home.file.".nix-channels".text = "";
|
||||
|
||||
home.activation.removeExistingNixChannels = config.lib.dag.entryBefore ["checkLinkTargets"] ''
|
||||
$DRY_RUN_CMD ${pkgs.writeScript "activation-script" ''
|
||||
set -ex
|
||||
if test -f $HOME/.nix-channels; then
|
||||
echo Uninstalling available channels...
|
||||
if test -f $HOME/.nix-channel; then
|
||||
while read url channel; do
|
||||
nix-channel --remove $channel
|
||||
done < $HOME/.nix-channel
|
||||
fi
|
||||
echo Moving existing file away...
|
||||
touch $HOME/.nix-channels.dummy
|
||||
mv --backup=numbered $HOME/.nix-channels.dummy $HOME/.nix-channels
|
||||
rm $HOME/.nix-channels
|
||||
fi
|
||||
''};
|
||||
'';
|
||||
home.activation.removeExistingNixChannels =
|
||||
config.lib.dag.entryBefore [ "checkLinkTargets" ] ''
|
||||
$DRY_RUN_CMD ${
|
||||
pkgs.writeScript "activation-script" ''
|
||||
set -ex
|
||||
if test -f $HOME/.nix-channels; then
|
||||
echo Uninstalling available channels...
|
||||
if test -f $HOME/.nix-channel; then
|
||||
while read url channel; do
|
||||
nix-channel --remove $channel
|
||||
done < $HOME/.nix-channel
|
||||
fi
|
||||
echo Moving existing file away...
|
||||
touch $HOME/.nix-channels.dummy
|
||||
mv --backup=numbered $HOME/.nix-channels.dummy $HOME/.nix-channels
|
||||
rm $HOME/.nix-channels
|
||||
fi
|
||||
''
|
||||
};
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (import ../lib.nix { })
|
||||
mkSimpleTrayService
|
||||
;
|
||||
inherit (import ../lib.nix { }) mkSimpleTrayService;
|
||||
|
||||
audio = pkgs.writeShellScript "audio" ''
|
||||
export PATH=${with pkgs; lib.makeBinPath [
|
||||
pulseaudio findutils gnugrep
|
||||
]}:$PATH
|
||||
export PATH=${
|
||||
with pkgs;
|
||||
lib.makeBinPath [ pulseaudio findutils gnugrep ]
|
||||
}:$PATH
|
||||
|
||||
export MUTEFILE=''${TEMPDIR:-/tmp}/.qtilemute
|
||||
case $1 in
|
||||
|
@ -34,9 +31,7 @@ let
|
|||
terminalCommand = "${pkgs.alacritty}/bin/alacritty";
|
||||
|
||||
dpmsScript = pkgs.writeShellScript "dpmsScript" ''
|
||||
export PATH=${with pkgs; lib.makeBinPath [
|
||||
xorg.xset
|
||||
]}:$PATH
|
||||
export PATH=${with pkgs; lib.makeBinPath [ xorg.xset ]}:$PATH
|
||||
|
||||
set -xe
|
||||
|
||||
|
@ -59,9 +54,7 @@ let
|
|||
'';
|
||||
|
||||
screenLockCommand = pkgs.writeShellScript "screenLock" ''
|
||||
export PATH=${with pkgs; lib.makeBinPath [
|
||||
i3lock
|
||||
]}:$PATH
|
||||
export PATH=${with pkgs; lib.makeBinPath [ i3lock ]}:$PATH
|
||||
|
||||
revert() {
|
||||
${dpmsScript} default
|
||||
|
@ -82,186 +75,185 @@ let
|
|||
'';
|
||||
|
||||
qtileConfig = pkgs.writeScript "qtile_config.py" ''
|
||||
from libqtile.config import Key, Screen, Group, Drag, Click
|
||||
from libqtile.command import lazy
|
||||
from libqtile import layout, bar, widget
|
||||
from libqtile import hook
|
||||
from libqtile.config import Key, Screen, Group, Drag, Click
|
||||
from libqtile.command import lazy
|
||||
from libqtile import layout, bar, widget
|
||||
from libqtile import hook
|
||||
|
||||
import logging, os
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.WARN)
|
||||
import logging, os
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.WARN)
|
||||
|
||||
handler = logging.handlers.RotatingFileHandler(
|
||||
os.path.join(os.getenv('TEMPDIR', default="/tmp"), '.qtilelog'), maxBytes=10240000,
|
||||
backupCount=7
|
||||
)
|
||||
handler.setLevel(logging.WARN)
|
||||
logger.addHandler(handler)
|
||||
|
||||
key_super = "mod4"
|
||||
key_alt = "mod1"
|
||||
key_control = "control"
|
||||
|
||||
keys = [
|
||||
# https://github.com/qtile/qtile/blob/master/libqtile/backend/x11/xkeysyms.py
|
||||
Key([key_super], "Return", lazy.spawn("${terminalCommand}")),
|
||||
Key([key_super], "r", lazy.spawncmd()),
|
||||
Key([key_super], "w", lazy.window.kill()),
|
||||
|
||||
Key([key_alt, key_super], "l", lazy.spawn('${pkgs.bash}/bin/sh -c "loginctl lock-session $XDG_SESSION_ID"')),
|
||||
Key([key_alt, key_super], "s", lazy.spawn("${pkgs.systemd}/bin/systemctl suspend")),
|
||||
|
||||
Key([key_super, key_control], "r", lazy.spawn("${initScreen}")),
|
||||
Key([key_super, key_control], "q", lazy.shutdown()),
|
||||
|
||||
# Toggle between different layouts as defined below
|
||||
Key([key_super], "Tab", lazy.next_layout()),
|
||||
|
||||
# this is usefull when floating windows get buried
|
||||
Key([key_super], "Escape", lazy.window.bring_to_front()),
|
||||
|
||||
# common to all layouts
|
||||
Key([key_control, key_alt], "h", lazy.layout.grow_left()),
|
||||
Key([key_control, key_alt], "j", lazy.layout.grow_down()),
|
||||
Key([key_control, key_alt], "k", lazy.layout.grow_up()),
|
||||
Key([key_control, key_alt], "l", lazy.layout.grow_right()),
|
||||
Key([key_super], "n", lazy.layout.normalize()),
|
||||
Key([key_super], "o", lazy.layout.maximize()),
|
||||
|
||||
# MonadTall keybindings
|
||||
Key([key_super], "h", lazy.layout.left().when(layout="monad")),
|
||||
Key([key_super], "l", lazy.layout.right().when(layout="monad")),
|
||||
Key([key_super], "j", lazy.layout.down().when(layout="monad")),
|
||||
Key([key_super], "k", lazy.layout.up().when(layout="monad")),
|
||||
Key([key_super, key_control], "h", lazy.layout.shuffle_left().when(layout="monad")),
|
||||
Key([key_super, key_control], "l", lazy.layout.shuffle_right().when(layout="monad")),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_down().when(layout="monad")),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_up().when(layout="monad")),
|
||||
Key([key_super, key_control], "space", lazy.layout.toggle_split().when(layout="monad")),
|
||||
|
||||
# Stack
|
||||
Key([key_super], "h", lazy.layout.previous().when(layout='stack')),
|
||||
Key([key_super], "l", lazy.layout.next().when(layout='stack')),
|
||||
Key([key_super], "j", lazy.layout.up().when(layout='stack')),
|
||||
Key([key_super], "k", lazy.layout.down().when(layout='stack')),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_up().when(layout='stack')),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_down().when(layout='stack')),
|
||||
Key([key_super, key_control], "h", lazy.layout.client_to_previous().when(layout='stack')),
|
||||
Key([key_super, key_control], "l", lazy.layout.client_to_next().when(layout='stack')),
|
||||
|
||||
# Columns
|
||||
Key([key_super], "h", lazy.layout.left().when(layout="columns")),
|
||||
Key([key_super], "l", lazy.layout.right().when(layout="columns")),
|
||||
Key([key_super], "j", lazy.layout.next().when(layout="columns")),
|
||||
Key([key_super], "k", lazy.layout.previous().when(layout="columns")),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_down().when(layout="columns")),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_up().when(layout="columns")),
|
||||
Key([key_super, key_control], "h", lazy.layout.shuffle_left().when(layout="columns")),
|
||||
Key([key_super, key_control], "l", lazy.layout.shuffle_right().when(layout="columns")),
|
||||
Key([key_super, key_control], "space", lazy.layout.toggle_split().when(layout="columns")),
|
||||
|
||||
# Max
|
||||
Key([key_super], "j", lazy.layout.down().when(layout="max")),
|
||||
Key([key_super], "k", lazy.layout.up().when(layout="max")),
|
||||
|
||||
# TODO: these are required to make the 'columns' layout work, but why?
|
||||
Key([key_super], "j", lazy.layout.next()),
|
||||
Key([key_super], "k", lazy.layout.previous()),
|
||||
|
||||
# Multimedia Keys
|
||||
Key([], "XF86AudioPlay", lazy.spawn("${pkgs.playerctl}/bin/playerctl play-pause")),
|
||||
Key([], "XF86AudioPrev", lazy.spawn("${pkgs.playerctl}/bin/playerctl previous")),
|
||||
Key([], "XF86AudioNext", lazy.spawn("${pkgs.playerctl}/bin/playerctl next")),
|
||||
# TODO: the next two don't work yet
|
||||
Key([], "XF86AudioRewind", lazy.spawn("${pkgs.playerctl}/bin/playerctl offset 10-")),
|
||||
Key([], "XF86BackForward", lazy.spawn("${pkgs.playerctl}/bin/playerctl offset 10+")),
|
||||
Key([], "XF86AudioMute", lazy.spawn("${audio} mute")),
|
||||
Key([], "XF86AudioLowerVolume", lazy.spawn("${audio} lower")),
|
||||
Key([], "XF86AudioRaiseVolume", lazy.spawn("${audio} raise")),
|
||||
Key([], "Print", lazy.spawn("${pkgs.flameshot}/bin/flameshot gui")),
|
||||
]
|
||||
groups = [Group(i) for i in "1234567890"]
|
||||
|
||||
for i in groups:
|
||||
# super + letter of group = switch to group
|
||||
keys.append(
|
||||
Key([key_super], i.name, lazy.group[i.name].toscreen())
|
||||
handler = logging.handlers.RotatingFileHandler(
|
||||
os.path.join(os.getenv('TEMPDIR', default="/tmp"), '.qtilelog'), maxBytes=10240000,
|
||||
backupCount=7
|
||||
)
|
||||
handler.setLevel(logging.WARN)
|
||||
logger.addHandler(handler)
|
||||
|
||||
# super + shift + letter of group = switch to & move focused window to group
|
||||
keys.append(
|
||||
Key([key_super, key_control], i.name, lazy.window.togroup(i.name))
|
||||
)
|
||||
key_super = "mod4"
|
||||
key_alt = "mod1"
|
||||
key_control = "control"
|
||||
|
||||
layouts = [
|
||||
layout.Columns(num_columns=3, border_focus='#00ff00', border_width=2),
|
||||
layout.Max(),
|
||||
# layout.Stack(num_stacks=3, border_focus='#00ff00', border_width=2, autosplit=True, previous_on_rm=True),
|
||||
# layout.Wmii(border_focus='#00ff00'),
|
||||
# layout.MonadTall(ratio=0.6, border_focus='#00ff00'),
|
||||
]
|
||||
keys = [
|
||||
# https://github.com/qtile/qtile/blob/master/libqtile/backend/x11/xkeysyms.py
|
||||
Key([key_super], "Return", lazy.spawn("${terminalCommand}")),
|
||||
Key([key_super], "r", lazy.spawncmd()),
|
||||
Key([key_super], "w", lazy.window.kill()),
|
||||
|
||||
widget_defaults = dict(
|
||||
font='Arial',
|
||||
fontsize=16,
|
||||
padding=3,
|
||||
)
|
||||
Key([key_alt, key_super], "l", lazy.spawn('${pkgs.bash}/bin/sh -c "loginctl lock-session $XDG_SESSION_ID"')),
|
||||
Key([key_alt, key_super], "s", lazy.spawn("${pkgs.systemd}/bin/systemctl suspend")),
|
||||
|
||||
screens_count = 4
|
||||
screens = []
|
||||
for i in range(0, screens_count+1):
|
||||
j = i+1
|
||||
widgets = [
|
||||
widget.TextBox("Screen %i" % j, name="Screen %i" % j),
|
||||
widget.GroupBox(),
|
||||
widget.WindowName(),
|
||||
widget.Prompt(),
|
||||
widget.CPUGraph(),
|
||||
widget.ThermalSensor(),
|
||||
widget.Memory(),
|
||||
widget.Net(interface='eth0'),
|
||||
widget.Net(interface='wlan0'),
|
||||
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
|
||||
Key([key_super, key_control], "r", lazy.spawn("${initScreen}")),
|
||||
Key([key_super, key_control], "q", lazy.shutdown()),
|
||||
|
||||
# Toggle between different layouts as defined below
|
||||
Key([key_super], "Tab", lazy.next_layout()),
|
||||
|
||||
# this is usefull when floating windows get buried
|
||||
Key([key_super], "Escape", lazy.window.bring_to_front()),
|
||||
|
||||
# common to all layouts
|
||||
Key([key_control, key_alt], "h", lazy.layout.grow_left()),
|
||||
Key([key_control, key_alt], "j", lazy.layout.grow_down()),
|
||||
Key([key_control, key_alt], "k", lazy.layout.grow_up()),
|
||||
Key([key_control, key_alt], "l", lazy.layout.grow_right()),
|
||||
Key([key_super], "n", lazy.layout.normalize()),
|
||||
Key([key_super], "o", lazy.layout.maximize()),
|
||||
|
||||
# MonadTall keybindings
|
||||
Key([key_super], "h", lazy.layout.left().when(layout="monad")),
|
||||
Key([key_super], "l", lazy.layout.right().when(layout="monad")),
|
||||
Key([key_super], "j", lazy.layout.down().when(layout="monad")),
|
||||
Key([key_super], "k", lazy.layout.up().when(layout="monad")),
|
||||
Key([key_super, key_control], "h", lazy.layout.shuffle_left().when(layout="monad")),
|
||||
Key([key_super, key_control], "l", lazy.layout.shuffle_right().when(layout="monad")),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_down().when(layout="monad")),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_up().when(layout="monad")),
|
||||
Key([key_super, key_control], "space", lazy.layout.toggle_split().when(layout="monad")),
|
||||
|
||||
# Stack
|
||||
Key([key_super], "h", lazy.layout.previous().when(layout='stack')),
|
||||
Key([key_super], "l", lazy.layout.next().when(layout='stack')),
|
||||
Key([key_super], "j", lazy.layout.up().when(layout='stack')),
|
||||
Key([key_super], "k", lazy.layout.down().when(layout='stack')),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_up().when(layout='stack')),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_down().when(layout='stack')),
|
||||
Key([key_super, key_control], "h", lazy.layout.client_to_previous().when(layout='stack')),
|
||||
Key([key_super, key_control], "l", lazy.layout.client_to_next().when(layout='stack')),
|
||||
|
||||
# Columns
|
||||
Key([key_super], "h", lazy.layout.left().when(layout="columns")),
|
||||
Key([key_super], "l", lazy.layout.right().when(layout="columns")),
|
||||
Key([key_super], "j", lazy.layout.next().when(layout="columns")),
|
||||
Key([key_super], "k", lazy.layout.previous().when(layout="columns")),
|
||||
Key([key_super, key_control], "j", lazy.layout.shuffle_down().when(layout="columns")),
|
||||
Key([key_super, key_control], "k", lazy.layout.shuffle_up().when(layout="columns")),
|
||||
Key([key_super, key_control], "h", lazy.layout.shuffle_left().when(layout="columns")),
|
||||
Key([key_super, key_control], "l", lazy.layout.shuffle_right().when(layout="columns")),
|
||||
Key([key_super, key_control], "space", lazy.layout.toggle_split().when(layout="columns")),
|
||||
|
||||
# Max
|
||||
Key([key_super], "j", lazy.layout.down().when(layout="max")),
|
||||
Key([key_super], "k", lazy.layout.up().when(layout="max")),
|
||||
|
||||
# TODO: these are required to make the 'columns' layout work, but why?
|
||||
Key([key_super], "j", lazy.layout.next()),
|
||||
Key([key_super], "k", lazy.layout.previous()),
|
||||
|
||||
# Multimedia Keys
|
||||
Key([], "XF86AudioPlay", lazy.spawn("${pkgs.playerctl}/bin/playerctl play-pause")),
|
||||
Key([], "XF86AudioPrev", lazy.spawn("${pkgs.playerctl}/bin/playerctl previous")),
|
||||
Key([], "XF86AudioNext", lazy.spawn("${pkgs.playerctl}/bin/playerctl next")),
|
||||
# TODO: the next two don't work yet
|
||||
Key([], "XF86AudioRewind", lazy.spawn("${pkgs.playerctl}/bin/playerctl offset 10-")),
|
||||
Key([], "XF86BackForward", lazy.spawn("${pkgs.playerctl}/bin/playerctl offset 10+")),
|
||||
Key([], "XF86AudioMute", lazy.spawn("${audio} mute")),
|
||||
Key([], "XF86AudioLowerVolume", lazy.spawn("${audio} lower")),
|
||||
Key([], "XF86AudioRaiseVolume", lazy.spawn("${audio} raise")),
|
||||
Key([], "Print", lazy.spawn("${pkgs.flameshot}/bin/flameshot gui")),
|
||||
]
|
||||
if i is 0:
|
||||
widgets.insert(-1, widget.Systray())
|
||||
groups = [Group(i) for i in "1234567890"]
|
||||
|
||||
screens.append(Screen(bottom=bar.Bar(widgets, 30)))
|
||||
for i in groups:
|
||||
# super + letter of group = switch to group
|
||||
keys.append(
|
||||
Key([key_super], i.name, lazy.group[i.name].toscreen())
|
||||
)
|
||||
|
||||
keys.append(Key([key_super, "shift"], "%i" % (i+1), lazy.to_screen(i)))
|
||||
# super + shift + letter of group = switch to & move focused window to group
|
||||
keys.append(
|
||||
Key([key_super, key_control], i.name, lazy.window.togroup(i.name))
|
||||
)
|
||||
|
||||
dgroups_key_binder = None
|
||||
dgroups_app_rules = []
|
||||
follow_mouse_focus = False
|
||||
bring_front_click = False
|
||||
cursor_warp = False
|
||||
auto_fullscreen = True
|
||||
auto_minimize = False
|
||||
# focus_on_window_activation = "urgent"
|
||||
layouts = [
|
||||
layout.Columns(num_columns=3, border_focus='#00ff00', border_width=2),
|
||||
layout.Max(),
|
||||
# layout.Stack(num_stacks=3, border_focus='#00ff00', border_width=2, autosplit=True, previous_on_rm=True),
|
||||
# layout.Wmii(border_focus='#00ff00'),
|
||||
# layout.MonadTall(ratio=0.6, border_focus='#00ff00'),
|
||||
]
|
||||
|
||||
widget_defaults = dict(
|
||||
font='Arial',
|
||||
fontsize=16,
|
||||
padding=3,
|
||||
)
|
||||
|
||||
screens_count = 4
|
||||
screens = []
|
||||
for i in range(0, screens_count+1):
|
||||
j = i+1
|
||||
widgets = [
|
||||
widget.TextBox("Screen %i" % j, name="Screen %i" % j),
|
||||
widget.GroupBox(),
|
||||
widget.WindowName(),
|
||||
widget.Prompt(),
|
||||
widget.CPUGraph(),
|
||||
widget.ThermalSensor(),
|
||||
widget.Memory(),
|
||||
widget.Net(interface='eth0'),
|
||||
widget.Net(interface='wlan0'),
|
||||
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
|
||||
]
|
||||
if i is 0:
|
||||
widgets.insert(-1, widget.Systray())
|
||||
|
||||
screens.append(Screen(bottom=bar.Bar(widgets, 30)))
|
||||
|
||||
keys.append(Key([key_super, "shift"], "%i" % (i+1), lazy.to_screen(i)))
|
||||
|
||||
dgroups_key_binder = None
|
||||
dgroups_app_rules = []
|
||||
follow_mouse_focus = False
|
||||
bring_front_click = False
|
||||
cursor_warp = False
|
||||
auto_fullscreen = True
|
||||
auto_minimize = False
|
||||
# focus_on_window_activation = "urgent"
|
||||
|
||||
|
||||
# Drag floating layouts.
|
||||
mouse = [
|
||||
# Drag([key_super,key_control], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
|
||||
# Drag([key_super,key_control], "Button2", lazy.window.set_size_floating(), start=lazy.window.get_size()),
|
||||
Click([key_super,key_control], "Button3", lazy.window.disable_floating())
|
||||
]
|
||||
# Drag floating layouts.
|
||||
mouse = [
|
||||
# Drag([key_super,key_control], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
|
||||
# Drag([key_super,key_control], "Button2", lazy.window.set_size_floating(), start=lazy.window.get_size()),
|
||||
Click([key_super,key_control], "Button3", lazy.window.disable_floating())
|
||||
]
|
||||
|
||||
# disable any floating
|
||||
@hook.subscribe.client_new
|
||||
def disable_floating_for_all_new_windows(window):
|
||||
window.floating = False
|
||||
# disable any floating
|
||||
@hook.subscribe.client_new
|
||||
def disable_floating_for_all_new_windows(window):
|
||||
window.floating = False
|
||||
|
||||
@hook.subscribe.client_new
|
||||
def print_new_window(window):
|
||||
print("new window: ", window)
|
||||
'';
|
||||
@hook.subscribe.client_new
|
||||
def print_new_window(window):
|
||||
print("new window: ", window)
|
||||
'';
|
||||
|
||||
in {
|
||||
systemd.user = {
|
||||
startServices = true;
|
||||
services = {
|
||||
};
|
||||
services = { };
|
||||
};
|
||||
|
||||
services = {
|
||||
|
@ -306,50 +298,46 @@ in {
|
|||
enable = true;
|
||||
settings = {
|
||||
matches = let
|
||||
playerctl = ''${pkgs.coreutils}/bin/env DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(${pkgs.coreutils}/bin/id -u)/bus" ${pkgs.playerctl}/bin/playerctl'';
|
||||
playerctl = ''
|
||||
${pkgs.coreutils}/bin/env DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(${pkgs.coreutils}/bin/id -u)/bus" ${pkgs.playerctl}/bin/playerctl'';
|
||||
in [
|
||||
{
|
||||
trigger = ":vpos";
|
||||
replace = "{{output}}";
|
||||
vars = [
|
||||
{
|
||||
name = "output";
|
||||
type = "script";
|
||||
params = {
|
||||
args = [
|
||||
(pkgs.writeScript "espanso" ''
|
||||
#! ${pkgs.python3}/bin/python
|
||||
import subprocess, os, math, datetime
|
||||
vars = [{
|
||||
name = "output";
|
||||
type = "script";
|
||||
params = {
|
||||
args = [
|
||||
(pkgs.writeScript "espanso" ''
|
||||
#! ${pkgs.python3}/bin/python
|
||||
import subprocess, os, math, datetime
|
||||
|
||||
id=str(os.getuid())
|
||||
result=subprocess.run(args=["${pkgs.playerctl}/bin/playerctl", "position"], env={"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/"+id+"/bus"},capture_output=True)
|
||||
result.check_returncode()
|
||||
id=str(os.getuid())
|
||||
result=subprocess.run(args=["${pkgs.playerctl}/bin/playerctl", "position"], env={"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/"+id+"/bus"},capture_output=True)
|
||||
result.check_returncode()
|
||||
|
||||
position_secs = math.trunc(float(result.stdout))
|
||||
position_human = datetime.timedelta(seconds=position_secs)
|
||||
print("%s - %s" % (position_human, position_secs))
|
||||
'')
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
position_secs = math.trunc(float(result.stdout))
|
||||
position_human = datetime.timedelta(seconds=position_secs)
|
||||
print("%s - %s" % (position_human, position_secs))
|
||||
'')
|
||||
];
|
||||
};
|
||||
}];
|
||||
}
|
||||
{
|
||||
trigger = ":vtit";
|
||||
replace = "{{output}}";
|
||||
vars = [
|
||||
{
|
||||
name = "output";
|
||||
type = "script";
|
||||
params = {
|
||||
args = [
|
||||
(pkgs.writeShellScript "espanso" ''
|
||||
${playerctl} metadata title''
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
vars = [{
|
||||
name = "output";
|
||||
type = "script";
|
||||
params = {
|
||||
args = [
|
||||
(pkgs.writeShellScript "espanso"
|
||||
"${playerctl} metadata title")
|
||||
];
|
||||
};
|
||||
}];
|
||||
}
|
||||
{
|
||||
trigger = ":dunno";
|
||||
|
|
|
@ -1,15 +1,9 @@
|
|||
{
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
};
|
||||
programs.chromium = { enable = true; };
|
||||
|
||||
programs.brave = {
|
||||
enable = true;
|
||||
};
|
||||
programs.brave = { enable = true; };
|
||||
|
||||
nixpkgs.config = {
|
||||
chromium = {
|
||||
|
@ -18,11 +12,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
programs.browserpass = {
|
||||
browsers = [
|
||||
"chromium"
|
||||
"brave"
|
||||
];
|
||||
};
|
||||
programs.browserpass = { browsers = [ "chromium" "brave" ]; };
|
||||
}
|
||||
|
||||
|
|
|
@ -1,24 +1,22 @@
|
|||
{ pkgs,
|
||||
...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages = epkgs: (with epkgs; [
|
||||
nix-mode
|
||||
magit # ; Integrate git <C-x g>
|
||||
zerodark-theme # ; Nicolas' theme
|
||||
undo-tree # ; <C-x u> to show the undo tree
|
||||
# zoom-frm # ; increase/decrease font size for all buffers %lt;C-x C-+>
|
||||
]) ++ (with epkgs.melpaPackages; [
|
||||
evil
|
||||
]) ++ (with epkgs.elpaPackages; [
|
||||
auctex # ; LaTeX mode
|
||||
beacon # ; highlight my cursor when scrolling
|
||||
nameless # ; hide current package name everywhere in elisp code
|
||||
]) ++ (with pkgs; [
|
||||
pkgs.notmuch # From main packages set
|
||||
]);
|
||||
extraPackages = epkgs:
|
||||
(with epkgs; [
|
||||
nix-mode
|
||||
magit # ; Integrate git <C-x g>
|
||||
zerodark-theme # ; Nicolas' theme
|
||||
undo-tree # ; <C-x u> to show the undo tree
|
||||
# zoom-frm # ; increase/decrease font size for all buffers %lt;C-x C-+>
|
||||
]) ++ (with epkgs.melpaPackages; [ evil ]) ++ (with epkgs.elpaPackages; [
|
||||
auctex # ; LaTeX mode
|
||||
beacon # ; highlight my cursor when scrolling
|
||||
nameless # ; hide current package name everywhere in elisp code
|
||||
]) ++ (with pkgs;
|
||||
[
|
||||
pkgs.notmuch # From main packages set
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,19 +1,14 @@
|
|||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
};
|
||||
programs.firefox = { enable = true; };
|
||||
|
||||
programs.browserpass = {
|
||||
enable = true;
|
||||
browsers = [
|
||||
"firefox"
|
||||
];
|
||||
browsers = [ "firefox" ];
|
||||
};
|
||||
|
||||
home.file.".mozilla/native-messaging-hosts/passff.json".source = "${pkgs.passff-host}/share/passff-host/passff.json";
|
||||
home.file.".mozilla/native-messaging-hosts/passff.json".source =
|
||||
"${pkgs.passff-host}/share/passff-host/passff.json";
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.holochain-launcher
|
||||
];
|
||||
home.packages = [ pkgs.holochain-launcher ];
|
||||
}
|
||||
|
|
|
@ -1,38 +1,37 @@
|
|||
{ pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
# TODO: clean up the impurity in here
|
||||
|
||||
in {
|
||||
home.sessionVariables = {
|
||||
HOMESHICK_DIR="${pkgs.homeshick}";
|
||||
};
|
||||
home.sessionVariables = { HOMESHICK_DIR = "${pkgs.homeshick}"; };
|
||||
|
||||
home.activation.bootstrapRepos = config.lib.dag.entryAfter ["writeBoundary"] ''
|
||||
$DRY_RUN_CMD ${pkgs.writeScript "activation-script" ''
|
||||
set -e
|
||||
echo home-manager path is ${config.home.path}
|
||||
echo home is $HOME
|
||||
home.activation.bootstrapRepos =
|
||||
config.lib.dag.entryAfter [ "writeBoundary" ] ''
|
||||
$DRY_RUN_CMD ${
|
||||
pkgs.writeScript "activation-script" ''
|
||||
set -e
|
||||
echo home-manager path is ${config.home.path}
|
||||
echo home is $HOME
|
||||
|
||||
source ${pkgs.homeshick}/homeshick.sh
|
||||
type homeshick
|
||||
|
||||
# echo Updating homeshick
|
||||
# ln -sfT ${pkgs.homeshick} "$HOMESICK_REPOS"/.homeshick
|
||||
# mv -Tf "$HOMESICK_REPOS"/{.,}homeshick
|
||||
''};
|
||||
'';
|
||||
source ${pkgs.homeshick}/homeshick.sh
|
||||
type homeshick
|
||||
|
||||
# echo Updating homeshick
|
||||
# ln -sfT ${pkgs.homeshick} "$HOMESICK_REPOS"/.homeshick
|
||||
# mv -Tf "$HOMESICK_REPOS"/{.,}homeshick
|
||||
''
|
||||
};
|
||||
'';
|
||||
|
||||
nixpkgs.config = {
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
homeshick = builtins.fetchGit {
|
||||
url = "https://github.com/andsens/homeshick.git";
|
||||
ref = "master";
|
||||
packageOverrides = pkgs:
|
||||
with pkgs; {
|
||||
homeshick = builtins.fetchGit {
|
||||
url = "https://github.com/andsens/homeshick.git";
|
||||
ref = "master";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{ pkgs,
|
||||
...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.sessionVariables = {
|
||||
|
@ -8,7 +6,5 @@
|
|||
SAL_USE_VCLPLUGIN = "gtk3";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libreoffice-fresh
|
||||
];
|
||||
home.packages = with pkgs; [ libreoffice-fresh ];
|
||||
}
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
{ pkgs,
|
||||
...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
|
||||
in {
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
home.sessionVariables = { EDITOR = "nvim"; };
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
|
@ -16,116 +12,117 @@ in {
|
|||
|
||||
extraConfig = builtins.readFile ./neovim/vimrc;
|
||||
|
||||
plugins = with pkgs; [
|
||||
# yaml-folds
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "vim-yaml-folds";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pedrohdz";
|
||||
repo = "vim-yaml-folds";
|
||||
rev = "890ccd8e5370808d569e96dbb06cbeca2cf5993a";
|
||||
sha256 = "018z6xcwrq58q6lj6gwhrifjaxkmrlkkg0n86s6mjjlwkbs2qa4m";
|
||||
plugins = with pkgs;
|
||||
[
|
||||
# yaml-folds
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "vim-yaml-folds";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pedrohdz";
|
||||
repo = "vim-yaml-folds";
|
||||
rev = "890ccd8e5370808d569e96dbb06cbeca2cf5993a";
|
||||
sha256 = "018z6xcwrq58q6lj6gwhrifjaxkmrlkkg0n86s6mjjlwkbs2qa4m";
|
||||
};
|
||||
buildInputs = [ zip vim ];
|
||||
};
|
||||
buildInputs = [ zip vim ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "vim-yaml";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stephpy";
|
||||
repo = "vim-yaml";
|
||||
rev = "e97e063b16eba4e593d620676a0a15fa98613979";
|
||||
sha256 = "0vqahbrnr43lxanpziyrmzaqqb3cmyny8ry1xvmy2xyd1larzfrk";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "vim-yaml";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stephpy";
|
||||
repo = "vim-yaml";
|
||||
rev = "e97e063b16eba4e593d620676a0a15fa98613979";
|
||||
sha256 = "0vqahbrnr43lxanpziyrmzaqqb3cmyny8ry1xvmy2xyd1larzfrk";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
# broken 2021-06-08
|
||||
# {
|
||||
# plugin = vimUtils.buildVimPlugin {
|
||||
# name = "vim-markdown-toc";
|
||||
# src = fetchFromGitHub {
|
||||
# owner = "mzlogin";
|
||||
# repo = "vim-markdown-toc";
|
||||
# rev = "b7bb6c37033d3a6c93906af48dc0e689bd948638";
|
||||
# sha256 = "026xf2gid4qivwawh7if3nfk7zja9di0flhdzdx82lvil9x48lyz";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
# broken 2021-06-08
|
||||
# {
|
||||
# plugin = vimUtils.buildVimPlugin {
|
||||
# name = "vim-markdown-toc";
|
||||
# src = fetchFromGitHub {
|
||||
# owner = "mzlogin";
|
||||
# repo = "vim-markdown-toc";
|
||||
# rev = "b7bb6c37033d3a6c93906af48dc0e689bd948638";
|
||||
# sha256 = "026xf2gid4qivwawh7if3nfk7zja9di0flhdzdx82lvil9x48lyz";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
|
||||
# broken 2021-06-08
|
||||
# {
|
||||
# plugin = vimUtils.buildVimPlugin {
|
||||
# name = "vim-perl";
|
||||
# src = fetchFromGitHub {
|
||||
# owner = "vim-perl";
|
||||
# repo = "vim-perl";
|
||||
# rev = "f330b5d474c44e6cfae22ba50868093dea3e9adb";
|
||||
# sha256 = "1dy40ixgixj0536c5ggra51b4yd1lbw4j6l0j5zc3diasb7m2gvr";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
# broken 2021-06-08
|
||||
# {
|
||||
# plugin = vimUtils.buildVimPlugin {
|
||||
# name = "vim-perl";
|
||||
# src = fetchFromGitHub {
|
||||
# owner = "vim-perl";
|
||||
# repo = "vim-perl";
|
||||
# rev = "f330b5d474c44e6cfae22ba50868093dea3e9adb";
|
||||
# sha256 = "1dy40ixgixj0536c5ggra51b4yd1lbw4j6l0j5zc3diasb7m2gvr";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "git-blame";
|
||||
src = fetchFromGitHub {
|
||||
"owner" = "zivyangll";
|
||||
"repo" = "git-blame.vim";
|
||||
"rev" = "9d144b7bed5d8f1c9259551768b7f3b3d1294917";
|
||||
"sha256" = "06zb5xcc59k25rpwl46j82fcqckiznmj97v6i0mwlb8jhqqrhy9j";
|
||||
};
|
||||
};
|
||||
}
|
||||
]
|
||||
++ (with pkgs.vimPlugins; [
|
||||
delimitMate
|
||||
vim-airline
|
||||
vim-airline-themes
|
||||
ctrlp
|
||||
vim-css-color
|
||||
rainbow_parentheses
|
||||
vim-colorschemes
|
||||
vim-colorstepper
|
||||
vim-signify
|
||||
fugitive
|
||||
vim-indent-guides
|
||||
UltiSnips
|
||||
fzfWrapper
|
||||
{
|
||||
plugin = vimUtils.buildVimPlugin {
|
||||
name = "git-blame";
|
||||
src = fetchFromGitHub {
|
||||
"owner" = "zivyangll";
|
||||
"repo" = "git-blame.vim";
|
||||
"rev" = "9d144b7bed5d8f1c9259551768b7f3b3d1294917";
|
||||
"sha256" = "06zb5xcc59k25rpwl46j82fcqckiznmj97v6i0mwlb8jhqqrhy9j";
|
||||
};
|
||||
};
|
||||
}
|
||||
] ++ (with pkgs.vimPlugins; [
|
||||
delimitMate
|
||||
vim-airline
|
||||
vim-airline-themes
|
||||
ctrlp
|
||||
vim-css-color
|
||||
rainbow_parentheses
|
||||
vim-colorschemes
|
||||
vim-colorstepper
|
||||
vim-signify
|
||||
fugitive
|
||||
vim-indent-guides
|
||||
UltiSnips
|
||||
fzfWrapper
|
||||
|
||||
ncm2
|
||||
ncm2-bufword
|
||||
ncm2-path
|
||||
ncm2-tmux
|
||||
ncm2-ultisnips
|
||||
nvim-yarp
|
||||
ncm2
|
||||
ncm2-bufword
|
||||
ncm2-path
|
||||
ncm2-tmux
|
||||
ncm2-ultisnips
|
||||
nvim-yarp
|
||||
|
||||
LanguageClient-neovim
|
||||
LanguageClient-neovim
|
||||
|
||||
Improved-AnsiEsc
|
||||
tabular
|
||||
Improved-AnsiEsc
|
||||
tabular
|
||||
|
||||
# Nix
|
||||
vim-addon-nix tlib
|
||||
vim-addon-vim2nix
|
||||
# Nix
|
||||
vim-addon-nix
|
||||
tlib
|
||||
vim-addon-vim2nix
|
||||
|
||||
# LaTeX
|
||||
vim-latex-live-preview
|
||||
vimtex
|
||||
# LaTeX
|
||||
vim-latex-live-preview
|
||||
vimtex
|
||||
|
||||
# YAML
|
||||
vim-yaml
|
||||
# YAML
|
||||
vim-yaml
|
||||
|
||||
# markdown
|
||||
vim-markdown
|
||||
vim-markdown-toc
|
||||
# markdown
|
||||
vim-markdown
|
||||
vim-markdown-toc
|
||||
|
||||
# misc syntax support
|
||||
vim-bazel maktaba
|
||||
])
|
||||
;
|
||||
# misc syntax support
|
||||
vim-bazel
|
||||
maktaba
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,23 +1,15 @@
|
|||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.sessionVariables = {
|
||||
# required by pass-otp
|
||||
PASSWORD_STORE_EXTENSIONS_DIR = "$HOME/.nix-profile/lib/password-store/extensions";
|
||||
PASSWORD_STORE_EXTENSIONS_DIR =
|
||||
"$HOME/.nix-profile/lib/password-store/extensions";
|
||||
PASSWORD_STORE_ENABLE_EXTENSIONS = "true";
|
||||
};
|
||||
|
||||
programs.browserpass = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
pass
|
||||
qtpass
|
||||
rofi-pass
|
||||
gnupg
|
||||
];
|
||||
programs.browserpass = { enable = true; };
|
||||
|
||||
home.packages = with pkgs; [ pass qtpass rofi-pass gnupg ];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,50 +1,48 @@
|
|||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
cniConfigDir = let
|
||||
loopback = pkgs.writeText "00-loopback.conf" ''
|
||||
{
|
||||
"cniVersion": "0.3.0",
|
||||
"type": "loopback"
|
||||
}
|
||||
'';
|
||||
|
||||
podman-bridge = pkgs.writeText "87-podman-bridge.conflist" ''
|
||||
{
|
||||
"cniVersion": "0.3.0",
|
||||
"name": "podman",
|
||||
"plugins": [
|
||||
{
|
||||
"type": "bridge",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
"ipMasq": true,
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"subnet": "10.88.0.0/16",
|
||||
"routes": [
|
||||
{ "dst": "0.0.0.0/0" }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "portmap",
|
||||
"capabilities": {
|
||||
"portMappings": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
in pkgs.runCommand "cniConfig" {} ''
|
||||
set -x
|
||||
mkdir $out;
|
||||
ln -s ${loopback} $out/${loopback.name}
|
||||
ln -s ${podman-bridge} $out/${podman-bridge.name}
|
||||
loopback = pkgs.writeText "00-loopback.conf" ''
|
||||
{
|
||||
"cniVersion": "0.3.0",
|
||||
"type": "loopback"
|
||||
}
|
||||
'';
|
||||
|
||||
podman-bridge = pkgs.writeText "87-podman-bridge.conflist" ''
|
||||
{
|
||||
"cniVersion": "0.3.0",
|
||||
"name": "podman",
|
||||
"plugins": [
|
||||
{
|
||||
"type": "bridge",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
"ipMasq": true,
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"subnet": "10.88.0.0/16",
|
||||
"routes": [
|
||||
{ "dst": "0.0.0.0/0" }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "portmap",
|
||||
"capabilities": {
|
||||
"portMappings": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
in pkgs.runCommand "cniConfig" { } ''
|
||||
set -x
|
||||
mkdir $out;
|
||||
ln -s ${loopback} $out/${loopback.name}
|
||||
ln -s ${podman-bridge} $out/${podman-bridge.name}
|
||||
'';
|
||||
|
||||
containersConf = pkgs.writeText "containers.conf" ''
|
||||
# containers.conf is the default configuration file for all tools using libpod to
|
||||
# manage containers
|
||||
|
@ -107,9 +105,7 @@ let
|
|||
default_network = "podman"
|
||||
'';
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
podman
|
||||
];
|
||||
home.packages = with pkgs; [ podman ];
|
||||
|
||||
home.file.".config/containers/containers.conf".source = containersConf;
|
||||
|
||||
|
|
|
@ -462,20 +462,16 @@ let
|
|||
sha256 = "1jmmbz3i0hxq5ka4rsk07mynxh3pkh5g736d9ryv1czhnrb06lwf";
|
||||
}
|
||||
];
|
||||
in
|
||||
|
||||
{
|
||||
in {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
extensions = []
|
||||
++ packagedExtensions
|
||||
# ++ marketPlaceExtensions
|
||||
;
|
||||
extensions = [ ] ++ packagedExtensions
|
||||
# ++ marketPlaceExtensions
|
||||
;
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.nixpkgs-fmt
|
||||
];
|
||||
home.packages = [ pkgs.nixpkgs-fmt ];
|
||||
}
|
||||
|
||||
# TODO: automate
|
||||
|
|
|
@ -3,37 +3,36 @@
|
|||
{ ... }:
|
||||
|
||||
let
|
||||
just-plugin =
|
||||
let
|
||||
plugin_file = pkgs.writeText "_just" ''
|
||||
#compdef just
|
||||
#autload
|
||||
just-plugin = let
|
||||
plugin_file = pkgs.writeText "_just" ''
|
||||
#compdef just
|
||||
#autload
|
||||
|
||||
alias justl="\just --list"
|
||||
alias juste="\just --evaluate"
|
||||
alias justl="\just --list"
|
||||
alias juste="\just --evaluate"
|
||||
|
||||
local subcmds=()
|
||||
local subcmds=()
|
||||
|
||||
while read -r line ; do
|
||||
if [[ ! $line == Available* ]] ;
|
||||
then
|
||||
subcmds+=(''${line/[[:space:]]*\#/:})
|
||||
fi
|
||||
done < <(just --list)
|
||||
while read -r line ; do
|
||||
if [[ ! $line == Available* ]] ;
|
||||
then
|
||||
subcmds+=(''${line/[[:space:]]*\#/:})
|
||||
fi
|
||||
done < <(just --list)
|
||||
|
||||
_describe 'command' subcmds
|
||||
'';
|
||||
_describe 'command' subcmds
|
||||
'';
|
||||
|
||||
in pkgs.stdenv.mkDerivation {
|
||||
name = "just-completions";
|
||||
version = "0.1.0";
|
||||
phases = "installPhase";
|
||||
installPhase = ''
|
||||
PLUGIN_PATH=$out/share/oh-my-zsh/plugins/just
|
||||
mkdir -p $PLUGIN_PATH
|
||||
cp ${plugin_file} $PLUGIN_PATH/_just
|
||||
chmod --recursive a-w $out
|
||||
'';
|
||||
in pkgs.stdenv.mkDerivation {
|
||||
name = "just-completions";
|
||||
version = "0.1.0";
|
||||
phases = "installPhase";
|
||||
installPhase = ''
|
||||
PLUGIN_PATH=$out/share/oh-my-zsh/plugins/just
|
||||
mkdir -p $PLUGIN_PATH
|
||||
cp ${plugin_file} $PLUGIN_PATH/_just
|
||||
chmod --recursive a-w $out
|
||||
'';
|
||||
};
|
||||
|
||||
in {
|
||||
|
@ -43,8 +42,7 @@ in {
|
|||
# will be called again by oh-my-zsh
|
||||
enableCompletion = false;
|
||||
enableAutosuggestions = true;
|
||||
initExtra = let
|
||||
inNixShell = ''$([[ -n "$IN_NIX_SHELL" ]] && printf " 🐚")'';
|
||||
initExtra = let inNixShell = ''$([[ -n "$IN_NIX_SHELL" ]] && printf " 🐚")'';
|
||||
in ''
|
||||
PROMPT='%F{%(!.red.green)}%n%f@%m %(?.%F{green}✓%f.%F{red}✗ ($?%))%f %F{blue}%~%f${inNixShell}%F{magenta}$(git_prompt_info)%f$prompt_newline%_%F{%(!.red.green)}$(prompt_char)%f '
|
||||
RPROMPT=""
|
||||
|
@ -59,8 +57,8 @@ in {
|
|||
${if builtins.hasAttr "homeshick" pkgs then ''
|
||||
source ${pkgs.homeshick}/homeshick.sh
|
||||
fpath=(${pkgs.homeshick}/completions $fpath)
|
||||
'' else ''
|
||||
''}
|
||||
'' else
|
||||
""}
|
||||
|
||||
# Disable intercepting of ctrl-s and ctrl-q as flow control.
|
||||
stty stop ''' -ixoff -ixon
|
||||
|
@ -117,10 +115,7 @@ in {
|
|||
oh-my-zsh = {
|
||||
enable = true;
|
||||
theme = "tjkirch";
|
||||
plugins = [
|
||||
"git"
|
||||
"sudo"
|
||||
];
|
||||
plugins = [ "git" "sudo" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue