mirror of https://github.com/mitchell/dotfiles.git
Add desktop environment configs and provisioning scripts for debian
- Add qutebrowser configs - Add xfce4-panel config - Add provision_debian script - Add upgrade_debian script - Refactor sync script to separate terminal and desktop env configs
This commit is contained in:
parent
116620843a
commit
b76aac107e
|
@ -4,7 +4,9 @@ setxkbmap -option altwin:swap_alt_win
|
||||||
setxkbmap -option ctrl:swapcaps
|
setxkbmap -option ctrl:swapcaps
|
||||||
sxhkd &
|
sxhkd &
|
||||||
wmname LG3D
|
wmname LG3D
|
||||||
|
xfce4-panel -d &
|
||||||
picom -b
|
picom -b
|
||||||
|
~/.fehbg &
|
||||||
|
|
||||||
bspc monitor -d I II III IV V VI VII
|
bspc monitor -d I II III IV V VI VII
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ function define_global_variables -d 'Defines all and exclusively globally export
|
||||||
set -gx DOTNET_ROOT $HOME/.asdf/installs/dotnet-core/(command -q dotnet; and dotnet --version)
|
set -gx DOTNET_ROOT $HOME/.asdf/installs/dotnet-core/(command -q dotnet; and dotnet --version)
|
||||||
|
|
||||||
set -gx EDITOR nvim
|
set -gx EDITOR nvim
|
||||||
|
set -gx BROWSER qutebrowser
|
||||||
|
|
||||||
set -gx FZF_CTRL_T_COMMAND 'ag --hidden --ignore .git -g ""'
|
set -gx FZF_CTRL_T_COMMAND 'ag --hidden --ignore .git -g ""'
|
||||||
set -gx FZF_DEFAULT_COMMAND 'ag --hidden --ignore .git -g ""'
|
set -gx FZF_DEFAULT_COMMAND 'ag --hidden --ignore .git -g ""'
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
[General]
|
||||||
|
ConfigVersion=1
|
||||||
|
GlobalAutoTypeKey=65
|
||||||
|
GlobalAutoTypeModifiers=100663296
|
||||||
|
MinimizeAfterUnlock=true
|
||||||
|
|
||||||
|
[Browser]
|
||||||
|
CustomProxyLocation=
|
||||||
|
|
||||||
|
[GUI]
|
||||||
|
MinimizeOnClose=true
|
||||||
|
MinimizeOnStartup=true
|
||||||
|
ShowTrayIcon=true
|
||||||
|
TrayIconAppearance=monochrome-light
|
||||||
|
|
||||||
|
[KeeShare]
|
||||||
|
Active="<?xml version=\"1.0\"?>\n<KeeShare xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <Active/>\n</KeeShare>\n"
|
||||||
|
Foreign="<?xml version=\"1.0\"?>\n<KeeShare xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <Foreign/>\n</KeeShare>\n"
|
||||||
|
Own="<?xml version=\"1.0\"?>\n<KeeShare xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <PrivateKey/>\n <PublicKey/>\n</KeeShare>\n"
|
||||||
|
QuietSuccess=true
|
||||||
|
|
||||||
|
[PasswordGenerator]
|
||||||
|
AdditionalChars=
|
||||||
|
ExcludedChars=
|
||||||
|
Logograms=true
|
|
@ -0,0 +1,82 @@
|
||||||
|
# If a config.py file exists, this file is ignored unless it's explicitly loaded
|
||||||
|
# via config.load_autoconfig(). For more information, see:
|
||||||
|
# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml
|
||||||
|
# DO NOT edit this file by hand, qutebrowser will overwrite it.
|
||||||
|
# Instead, create a config.py - see :help for details.
|
||||||
|
|
||||||
|
config_version: 2
|
||||||
|
settings:
|
||||||
|
aliases:
|
||||||
|
global:
|
||||||
|
q: close
|
||||||
|
qa: quit
|
||||||
|
w: session-save
|
||||||
|
wq: quit --save
|
||||||
|
wqa: quit --save
|
||||||
|
auto_save.interval:
|
||||||
|
global: 15000
|
||||||
|
auto_save.session:
|
||||||
|
global: true
|
||||||
|
backend:
|
||||||
|
global: webengine
|
||||||
|
bindings.commands:
|
||||||
|
global:
|
||||||
|
insert: {}
|
||||||
|
colors.webpage.darkmode.enabled:
|
||||||
|
global: false
|
||||||
|
content.autoplay:
|
||||||
|
global: false
|
||||||
|
content.cookies.accept:
|
||||||
|
global: no-3rdparty
|
||||||
|
content.cookies.store:
|
||||||
|
global: false
|
||||||
|
content.local_storage:
|
||||||
|
global: true
|
||||||
|
content.notifications:
|
||||||
|
https://app.slack.com: true
|
||||||
|
content.webrtc_ip_handling_policy:
|
||||||
|
global: all-interfaces
|
||||||
|
content.xss_auditing:
|
||||||
|
global: false
|
||||||
|
downloads.location.directory:
|
||||||
|
global: null
|
||||||
|
downloads.location.prompt:
|
||||||
|
global: true
|
||||||
|
downloads.location.remember:
|
||||||
|
global: true
|
||||||
|
downloads.location.suggestion:
|
||||||
|
global: path
|
||||||
|
downloads.open_dispatcher:
|
||||||
|
global: null
|
||||||
|
downloads.position:
|
||||||
|
global: top
|
||||||
|
downloads.remove_finished:
|
||||||
|
global: -1
|
||||||
|
editor.command:
|
||||||
|
global:
|
||||||
|
- kitty
|
||||||
|
- nvim
|
||||||
|
- -f
|
||||||
|
- '{file}'
|
||||||
|
- -c
|
||||||
|
- normal {line}G{column0}l
|
||||||
|
editor.encoding:
|
||||||
|
global: utf-8
|
||||||
|
fonts.default_family:
|
||||||
|
global: IBM Plex Mono
|
||||||
|
fonts.web.family.fixed:
|
||||||
|
global: IBM Plex Mono
|
||||||
|
fonts.web.family.sans_serif:
|
||||||
|
global: IBM Plex Sans
|
||||||
|
fonts.web.family.serif:
|
||||||
|
global: IBM Plex Serif
|
||||||
|
fonts.web.family.standard:
|
||||||
|
global: IBM Plex Sans
|
||||||
|
fonts.web.size.default:
|
||||||
|
global: 16
|
||||||
|
url.default_page:
|
||||||
|
global: http://wiki.m
|
||||||
|
url.start_pages:
|
||||||
|
global: http://wiki.m
|
||||||
|
window.title_format:
|
||||||
|
global: '{perc}{host}{title_sep}qutebrowser'
|
|
@ -0,0 +1,2 @@
|
||||||
|
https://rotabull.octopus.app/app#/users/sign-in Octopus Deploy
|
||||||
|
https://logentries.com/login/ Try Logentries Log Management Free – Logentries
|
|
@ -0,0 +1,5 @@
|
||||||
|
[FileDialog]
|
||||||
|
history=@Invalid()
|
||||||
|
lastVisited=file:///home/m/Downloads
|
||||||
|
qtVersion=5.14.2
|
||||||
|
viewMode=Detail
|
|
@ -0,0 +1,7 @@
|
||||||
|
slack https://app.slack.com/client/T1FR44MU4/C1FR44RHS
|
||||||
|
hn https://news.ycombinator.com/
|
||||||
|
ch https://app.clubhouse.io/rotabull/stories/space/1285/platform-eng
|
||||||
|
gh https://github.com/
|
||||||
|
gcp https://console.cloud.google.com/projectselector2/home/dashboard?organizationId=817788800675&supportedpurview=project
|
||||||
|
aws https://console.aws.amazon.com/s3/home?region=us-east-1
|
||||||
|
rip https://app.rippling.com/dashboard
|
|
@ -0,0 +1,70 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<channel name="xfce4-panel" version="1.0">
|
||||||
|
<property name="configver" type="int" value="2"/>
|
||||||
|
<property name="panels" type="array">
|
||||||
|
<value type="int" value="1"/>
|
||||||
|
<property name="panel-1" type="empty">
|
||||||
|
<property name="position" type="string" value="p=6;x=0;y=0"/>
|
||||||
|
<property name="length" type="uint" value="100"/>
|
||||||
|
<property name="position-locked" type="bool" value="true"/>
|
||||||
|
<property name="icon-size" type="uint" value="16"/>
|
||||||
|
<property name="size" type="uint" value="26"/>
|
||||||
|
<property name="plugin-ids" type="array">
|
||||||
|
<value type="int" value="1"/>
|
||||||
|
<value type="int" value="2"/>
|
||||||
|
<value type="int" value="3"/>
|
||||||
|
<value type="int" value="4"/>
|
||||||
|
<value type="int" value="5"/>
|
||||||
|
<value type="int" value="6"/>
|
||||||
|
<value type="int" value="8"/>
|
||||||
|
<value type="int" value="11"/>
|
||||||
|
<value type="int" value="12"/>
|
||||||
|
<value type="int" value="13"/>
|
||||||
|
<value type="int" value="14"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugins" type="empty">
|
||||||
|
<property name="plugin-1" type="string" value="applicationsmenu">
|
||||||
|
<property name="show-button-title" type="bool" value="false"/>
|
||||||
|
<property name="button-icon" type="string" value="debian-logo"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-2" type="string" value="tasklist">
|
||||||
|
<property name="grouping" type="uint" value="1"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-3" type="string" value="separator">
|
||||||
|
<property name="expand" type="bool" value="true"/>
|
||||||
|
<property name="style" type="uint" value="0"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-4" type="string" value="pager"/>
|
||||||
|
<property name="plugin-5" type="string" value="separator">
|
||||||
|
<property name="style" type="uint" value="0"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-6" type="string" value="systray">
|
||||||
|
<property name="show-frame" type="bool" value="false"/>
|
||||||
|
<property name="square-icons" type="bool" value="true"/>
|
||||||
|
<property name="names-ordered" type="array">
|
||||||
|
<value type="string" value="keepassxc"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-7" type="string" value="statusnotifier">
|
||||||
|
<property name="square-icons" type="bool" value="true"/>
|
||||||
|
<property name="symbolic-icons" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-8" type="string" value="pulseaudio">
|
||||||
|
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
|
||||||
|
<property name="show-notifications" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-9" type="string" value="power-manager-plugin"/>
|
||||||
|
<property name="plugin-10" type="string" value="notification-plugin"/>
|
||||||
|
<property name="plugin-11" type="string" value="separator">
|
||||||
|
<property name="style" type="uint" value="0"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-12" type="string" value="clock"/>
|
||||||
|
<property name="plugin-13" type="string" value="separator">
|
||||||
|
<property name="style" type="uint" value="0"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-14" type="string" value="actions"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
3
.skhdrc
3
.skhdrc
|
@ -1,6 +1,9 @@
|
||||||
# open terminal
|
# open terminal
|
||||||
cmd - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
|
cmd - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
|
||||||
|
|
||||||
|
# open web browser
|
||||||
|
shift + cmd - return : /Applications/qutebrowser.app/Contents/MacOS/qutebrowser
|
||||||
|
|
||||||
# focus window
|
# focus window
|
||||||
alt - h : yabai -m window --focus west
|
alt - h : yabai -m window --focus west
|
||||||
alt - j : yabai -m window --focus south
|
alt - j : yabai -m window --focus south
|
||||||
|
|
|
@ -0,0 +1,258 @@
|
||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
function main
|
||||||
|
provision_m_env
|
||||||
|
provision_desktop_env
|
||||||
|
provision_libvirt
|
||||||
|
#provision_vagrant
|
||||||
|
#provision_docker
|
||||||
|
#provision_syncthing
|
||||||
|
#provision_wireguard
|
||||||
|
#provision_caddy
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_m_env
|
||||||
|
log "Provisioning m's environment." head
|
||||||
|
|
||||||
|
log 'Installing git, neovim, tmux, rsync, curl, and kitty-terminfo...'
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes \
|
||||||
|
git \
|
||||||
|
neovim \
|
||||||
|
tmux \
|
||||||
|
rsync \
|
||||||
|
curl \
|
||||||
|
kitty-terminfo \
|
||||||
|
> /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing fzf, silversearcher, bat, and feh.'
|
||||||
|
sudo apt-get install --yes fzf silversearcher-ag bat feh > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Adding fish apt repo and install fish...'
|
||||||
|
sudo apt-get install --yes gpg > /dev/null 2>&1
|
||||||
|
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_10/ /' |
|
||||||
|
sudo tee /etc/apt/sources.list.d/shells:fish:release:3.list
|
||||||
|
|
||||||
|
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:3/Debian_10/Release.key |
|
||||||
|
gpg --dearmor |
|
||||||
|
sudo apt-key add -
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes fish > /dev/null 2>&1
|
||||||
|
|
||||||
|
log "Setting m's default shell to fish"
|
||||||
|
sudo chsh -s /usr/bin/fish m
|
||||||
|
|
||||||
|
log 'Running dotfiles sync script.'
|
||||||
|
./sync
|
||||||
|
|
||||||
|
log 'Installing asdf-vm.'
|
||||||
|
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.8 > /dev/null 2>&1
|
||||||
|
|
||||||
|
log "Done provisioning m's environment." tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_desktop_env
|
||||||
|
log 'Provisioning desktop environment.' head
|
||||||
|
|
||||||
|
log 'Installing window manager and compositor.'
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes bspwm sxhkd picom > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing terminal.'
|
||||||
|
sudo apt-get install --yes kitty > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing panel.'
|
||||||
|
sudo apt-get install --yes xfce4-panel xfce4-pulseaudio-plugin > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing and configuring xinit and xclip.'
|
||||||
|
sudo apt-get install --yes xinit xclip > /dev/null 2>&1
|
||||||
|
echo 'exec bspwm' > ~/.xinitrc
|
||||||
|
|
||||||
|
log 'Installing browser.'
|
||||||
|
sudo apt-get install --yes qutebrowser > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing application launcher.'
|
||||||
|
sudo apt-get install --yes rofi > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing and configuring theme.'
|
||||||
|
sudo apt-get install --yes arc-theme fonts-ibm-plex unzip > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing desktop background manager.'
|
||||||
|
sudo apt-get install --yes feh > /dev/null 2>&1
|
||||||
|
|
||||||
|
mkdir _fonts_tmp
|
||||||
|
cd _fonts_tmp
|
||||||
|
|
||||||
|
wget -q https://github.com/JetBrains/JetBrainsMono/releases/download/v2.002/JetBrainsMono-2.002.zip
|
||||||
|
unzip JetBrainsMono-2.002.zip > /dev/null
|
||||||
|
mkdir -p ~/.local/share/fonts/truetype/JetBrainsMono
|
||||||
|
cp ./ttf/*.ttf ~/.local/share/fonts/truetype/JetBrainsMono/
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm -r _fonts_tmp
|
||||||
|
|
||||||
|
log 'Installing keepassxc and syncthing.'
|
||||||
|
sudo apt-get install --yes keepassxc syncthing > /dev/null 2>&1
|
||||||
|
sudo systemctl enable syncthing@m
|
||||||
|
|
||||||
|
mkdir -p ~/.config/gtk-3.0
|
||||||
|
echo "
|
||||||
|
[Settings]
|
||||||
|
gtk-icon-theme-name = Adwaita
|
||||||
|
gtk-theme-name = Arc-Dark
|
||||||
|
gtk-font-name = IBM Plex Sans 11" > ~/.config/gtk-3.0/settings.ini
|
||||||
|
|
||||||
|
log 'Done provisioning desktop environment.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_libvirt
|
||||||
|
log 'Provisioning Libvirt and KVM.' head
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes qemu-system libvirt-clients libvirt-daemon-system > /dev/null 2>&1
|
||||||
|
sudo adduser m libvirt
|
||||||
|
|
||||||
|
log 'Done provisioning Libvirt and KVM' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_vagrant
|
||||||
|
log 'Provisioning vagrant and the libvirt provider.' head
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes wget unzip > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing vagrant from upstream.'
|
||||||
|
mkdir ./vagrant; and cd ./vagrant
|
||||||
|
wget -q -O ./vagrant.zip https://releases.hashicorp.com/vagrant/2.2.10/vagrant_2.2.10_linux_amd64.zip
|
||||||
|
unzip ./vagrant.zip
|
||||||
|
mkdir -p ~/.local/bin
|
||||||
|
mv ./vagrant ~/.local/bin/
|
||||||
|
cd ..; and rm -r ./vagrant
|
||||||
|
|
||||||
|
log 'Installing vagrant libvirt provider.'
|
||||||
|
sudo apt-get --yes build-dep vagrant ruby-libvirt > /dev/null 2>&1
|
||||||
|
sudo apt-get --yes install qemu libvirt-daemon-system libvirt-clients ebtables dnsmasq-base > /dev/null 2>&1
|
||||||
|
sudo apt-get --yes install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev > /dev/null 2>&1
|
||||||
|
vagrant plugin install vagrant-libvirt
|
||||||
|
|
||||||
|
log 'Done provisioning vagrant and libvirt provider.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_docker
|
||||||
|
log 'Provisioning Docker CE and Docker Compose.' head
|
||||||
|
|
||||||
|
log 'Installing docker dependencies.'
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg-agent \
|
||||||
|
software-properties-common \
|
||||||
|
> /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Adding Docker apt repo and install docker-ce.'
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
|
|
||||||
|
sudo add-apt-repository \
|
||||||
|
'deb [arch=amd64] https://download.docker.com/linux/debian
|
||||||
|
buster
|
||||||
|
stable'
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes docker-ce docker-ce-cli containerd.io > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Installing docker-compose.'
|
||||||
|
set uname_m (uname -m)
|
||||||
|
set uname_s (uname -s)
|
||||||
|
|
||||||
|
sudo curl \
|
||||||
|
-L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$uname_s-$uname_m" \
|
||||||
|
-o /usr/local/bin/docker-compose
|
||||||
|
sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
log 'Adding m to docker group.'
|
||||||
|
sudo adduser m docker
|
||||||
|
|
||||||
|
log 'Done provisioning Docker CE and Docker Compose.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_wireguard
|
||||||
|
log 'Provisioning Wireguard.' head
|
||||||
|
|
||||||
|
log 'Installing wireguard and resolvconf.'
|
||||||
|
set uname_r (uname -r)
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes "linux-headers-$uname_r" > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes wireguard resolvconf > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Configuring and enabling wg-quick@m-net.'
|
||||||
|
sudo mv m-net.conf /etc/wireguard/
|
||||||
|
|
||||||
|
sudo systemctl enable wg-quick@.service
|
||||||
|
sudo systemctl enable wg-quick@m-net.service
|
||||||
|
|
||||||
|
log 'Done provisioning Wireguard.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_syncthing
|
||||||
|
log 'Provisioning Syncthing.' head
|
||||||
|
|
||||||
|
log 'Adding Syncthing apt repo and installing syncthing.'
|
||||||
|
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
|
||||||
|
|
||||||
|
echo "deb https://apt.syncthing.net/ syncthing stable" |
|
||||||
|
sudo tee /etc/apt/sources.list.d/syncthing.list
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes syncthing > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Configuring and enabled syncthing.'
|
||||||
|
mkdir -p ~/.config/syncthing
|
||||||
|
sudo mv config.xml ~/.config/syncthing/
|
||||||
|
|
||||||
|
sudo systemctl enable syncthing@.service
|
||||||
|
sudo systemctl enable syncthing@m.service
|
||||||
|
|
||||||
|
log 'Done provisioning Syncthing.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function provision_caddy
|
||||||
|
log 'Provisioning Caddy.' head
|
||||||
|
|
||||||
|
log 'Adding Caddy repo and installing caddy.'
|
||||||
|
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" |
|
||||||
|
sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get install --yes caddy > /dev/null 2>&1
|
||||||
|
|
||||||
|
log 'Configuring and enabling caddy.'
|
||||||
|
sudo mv Caddyfile /etc/caddy/
|
||||||
|
|
||||||
|
sudo systemctl enable caddy.service
|
||||||
|
|
||||||
|
log 'Done provisioning Caddy.' tail
|
||||||
|
end
|
||||||
|
|
||||||
|
function log -a message level
|
||||||
|
if test "$level" = head
|
||||||
|
echo "
|
||||||
|
###########################################################################################
|
||||||
|
#
|
||||||
|
#--> $message
|
||||||
|
#"
|
||||||
|
else if test "$level" = tail
|
||||||
|
echo "#--> $message
|
||||||
|
#
|
||||||
|
###########################################################################################
|
||||||
|
"
|
||||||
|
else
|
||||||
|
echo -e "#--> $message\n#"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
main
|
33
sync
33
sync
|
@ -10,12 +10,16 @@ function main
|
||||||
|
|
||||||
setup_tmp_space $cwd
|
setup_tmp_space $cwd
|
||||||
|
|
||||||
sync_files
|
sync_terminal_env
|
||||||
|
|
||||||
|
sync_desktop_env
|
||||||
|
|
||||||
set_kitty_font_size $uname
|
set_kitty_font_size $uname
|
||||||
|
|
||||||
install_fisher_packages
|
install_fisher_packages
|
||||||
|
|
||||||
|
install_nvim_plugins
|
||||||
|
|
||||||
set_color normal
|
set_color normal
|
||||||
|
|
||||||
set_git_user
|
set_git_user
|
||||||
|
@ -35,24 +39,35 @@ function setup_tmp_space -a cwd
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function sync_files
|
function sync_terminal_env
|
||||||
if ! test -e ~/.config; mkdir ~/.config; end
|
if ! test -e ~/.config; mkdir ~/.config; end
|
||||||
|
|
||||||
rsync -aP ./.config/fish ~/.config/
|
rsync -aP ./.config/fish ~/.config/
|
||||||
rsync -aP ./.config/kitty ~/.config/
|
|
||||||
rsync -aP ./.config/nvim ~/.config/
|
rsync -aP ./.config/nvim ~/.config/
|
||||||
rsync -aP ./.config/bspwm ~/.config/
|
|
||||||
rsync -aP ./.config/sxhkd ~/.config/
|
|
||||||
rsync -aP ./.config/picom ~/.config/
|
|
||||||
rsync -aP ./.gitconfig ~/
|
rsync -aP ./.gitconfig ~/
|
||||||
rsync -aP ./.tmux-line.conf ~/
|
rsync -aP ./.tmux-line.conf ~/
|
||||||
rsync -aP ./.tmux.conf ~/
|
rsync -aP ./.tmux.conf ~/
|
||||||
rsync -aP ./.vim ~/
|
rsync -aP ./.vim ~/
|
||||||
rsync -aP ./.vimrc ~/
|
rsync -aP ./.vimrc ~/
|
||||||
|
rsync -aP ./.taskrc ~/
|
||||||
|
end
|
||||||
|
|
||||||
|
function sync_desktop_env
|
||||||
|
set prompt 'Would you like to sync the desktop environment?'
|
||||||
|
read -p "set_color red; printf '\n$prompt (Y/n) '; set_color normal" sync_desktop_env
|
||||||
|
|
||||||
|
if test -z "$sync_desktop_env"; or test "$sync_desktop_env" = 'y'; or test "$sync_desktop_env" = 'Y'
|
||||||
|
rsync -aP ./.config/kitty ~/.config/
|
||||||
|
rsync -aP ./.config/bspwm ~/.config/
|
||||||
|
rsync -aP ./.config/sxhkd ~/.config/
|
||||||
|
rsync -aP ./.config/picom ~/.config/
|
||||||
|
rsync -aP ./.config/xfce4 ~/.config/
|
||||||
|
rsync -aP ./.config/qutebrowser ~/.config/
|
||||||
|
rsync -aP ./.config/keepassxc ~/.config/
|
||||||
rsync -aP ./.ideavimrc ~/
|
rsync -aP ./.ideavimrc ~/
|
||||||
rsync -aP ./.yabairc ~/
|
rsync -aP ./.yabairc ~/
|
||||||
rsync -aP ./.skhdrc ~/
|
rsync -aP ./.skhdrc ~/
|
||||||
rsync -aP ./.taskrc ~/
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function set_kitty_font_size -a uname
|
function set_kitty_font_size -a uname
|
||||||
|
@ -71,9 +86,9 @@ end
|
||||||
|
|
||||||
function set_git_user
|
function set_git_user
|
||||||
set prompt 'Would you like to set your git user name and email?'
|
set prompt 'Would you like to set your git user name and email?'
|
||||||
read -p "set_color red; printf '\n$prompt (Y/n) '; set_color normal" set_git_user
|
read -p "set_color red; printf '\n$prompt (y/N) '; set_color normal" set_git_user
|
||||||
|
|
||||||
if test -z "$set_git_user"; or test "$set_git_user" = 'y'; or test "$set_git_user" = 'Y'
|
if test "$set_git_user" = 'y'; or test "$set_git_user" = 'Y'
|
||||||
read -P 'name: ' name
|
read -P 'name: ' name
|
||||||
read -P 'email: ' email
|
read -P 'email: ' email
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
function main
|
||||||
|
log 'Upgrading debian to unstable.' head
|
||||||
|
|
||||||
|
echo '
|
||||||
|
deb http://deb.debian.org/debian unstable main contrib non-free
|
||||||
|
deb-src http://deb.debian.org/debian unstable main contrib non-free' | sudo tee /etc/apt/sources.list
|
||||||
|
|
||||||
|
sudo apt-get update > /dev/null 2>&1
|
||||||
|
sudo apt-get dist-upgrade --yes
|
||||||
|
|
||||||
|
log 'Done upgrading debian to unstable and rebooting.' tail
|
||||||
|
|
||||||
|
sudo reboot
|
||||||
|
end
|
||||||
|
|
||||||
|
function log -a message level
|
||||||
|
if test "$level" = head
|
||||||
|
echo "
|
||||||
|
###########################################################################################
|
||||||
|
#
|
||||||
|
#--> $message"
|
||||||
|
else if test "$level" = tail
|
||||||
|
echo "#
|
||||||
|
#--> $message
|
||||||
|
#
|
||||||
|
###########################################################################################
|
||||||
|
"
|
||||||
|
else
|
||||||
|
echo -e "#\n#--> $message"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
main
|
Loading…
Reference in New Issue