diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Bold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Bold.ttf
new file mode 100644
index 00000000..8ccb8eba
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Bold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-BoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-BoldItalic.ttf
new file mode 100644
index 00000000..73c2d90e
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-BoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBold.ttf
new file mode 100644
index 00000000..fcd3fbd1
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf
new file mode 100644
index 00000000..6863256e
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLight.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLight.ttf
new file mode 100644
index 00000000..cbc1be27
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLight.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLightItalic.ttf
new file mode 100644
index 00000000..0e0af365
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ExtraLightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Italic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Italic.ttf
new file mode 100644
index 00000000..b92b9d9b
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Italic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Light.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Light.ttf
new file mode 100644
index 00000000..292e95f2
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Light.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-LightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-LightItalic.ttf
new file mode 100644
index 00000000..e24d4d7b
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-LightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Medium.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Medium.ttf
new file mode 100644
index 00000000..044841de
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Medium.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-MediumItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-MediumItalic.ttf
new file mode 100644
index 00000000..ad597f76
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-MediumItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Regular.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Regular.ttf
new file mode 100644
index 00000000..b8910ab0
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Regular.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBold.ttf
new file mode 100644
index 00000000..0bb4713f
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBoldItalic.ttf
new file mode 100644
index 00000000..d9095cf3
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-SemiBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Thin.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Thin.ttf
new file mode 100644
index 00000000..87c2933f
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-Thin.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ThinItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ThinItalic.ttf
new file mode 100644
index 00000000..f2a0a4e1
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFont-ThinItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Bold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Bold.ttf
new file mode 100644
index 00000000..ccfa8a24
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Bold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-BoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-BoldItalic.ttf
new file mode 100644
index 00000000..dbacf0b9
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-BoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBold.ttf
new file mode 100644
index 00000000..f8947ce1
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf
new file mode 100644
index 00000000..0c8a3a03
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLight.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLight.ttf
new file mode 100644
index 00000000..2e4e843d
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLight.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf
new file mode 100644
index 00000000..d5d13158
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Italic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Italic.ttf
new file mode 100644
index 00000000..0ffc0792
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Italic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Light.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Light.ttf
new file mode 100644
index 00000000..beeaddb7
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Light.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-LightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-LightItalic.ttf
new file mode 100644
index 00000000..0a2d7a65
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-LightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Medium.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Medium.ttf
new file mode 100644
index 00000000..656d9f42
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Medium.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-MediumItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-MediumItalic.ttf
new file mode 100644
index 00000000..bd847e48
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-MediumItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Regular.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Regular.ttf
new file mode 100644
index 00000000..99f2e9b8
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Regular.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBold.ttf
new file mode 100644
index 00000000..55fe5e66
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf
new file mode 100644
index 00000000..cfa5a932
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Thin.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Thin.ttf
new file mode 100644
index 00000000..d490ca22
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Thin.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ThinItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ThinItalic.ttf
new file mode 100644
index 00000000..cfd5ba34
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-ThinItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Bold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Bold.ttf
new file mode 100644
index 00000000..0c86f4f9
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Bold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-BoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-BoldItalic.ttf
new file mode 100644
index 00000000..97f0f172
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-BoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBold.ttf
new file mode 100644
index 00000000..c508ba83
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf
new file mode 100644
index 00000000..25c42a68
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLight.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLight.ttf
new file mode 100644
index 00000000..4b7b9601
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLight.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf
new file mode 100644
index 00000000..6a703595
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Italic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Italic.ttf
new file mode 100644
index 00000000..eb0d8806
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Italic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Light.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Light.ttf
new file mode 100644
index 00000000..67aa8f04
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Light.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-LightItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-LightItalic.ttf
new file mode 100644
index 00000000..87024f3d
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-LightItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Medium.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Medium.ttf
new file mode 100644
index 00000000..e0f97156
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Medium.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-MediumItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-MediumItalic.ttf
new file mode 100644
index 00000000..bf22e9b9
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-MediumItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Regular.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Regular.ttf
new file mode 100644
index 00000000..97670241
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Regular.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBold.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBold.ttf
new file mode 100644
index 00000000..d2c10a1f
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBold.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf
new file mode 100644
index 00000000..b6af105d
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Thin.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Thin.ttf
new file mode 100644
index 00000000..2c5c8b70
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-Thin.ttf differ
diff --git a/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ThinItalic.ttf b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ThinItalic.ttf
new file mode 100644
index 00000000..05135144
Binary files /dev/null and b/home/.local/share/fonts/JetBrainsMono/JetBrainsMonoNerdFontPropo-ThinItalic.ttf differ
diff --git a/images/gruvbox.png b/images/gruvbox.png
deleted file mode 100644
index b19bd5e0..00000000
Binary files a/images/gruvbox.png and /dev/null differ
diff --git a/images/nix-snowflake-colours.svg b/images/nix-snowflake-colours.svg
deleted file mode 100644
index 2a065bc9..00000000
--- a/images/nix-snowflake-colours.svg
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
diff --git a/install.sh b/install.sh
index ffe42261..2cb187cf 100755
--- a/install.sh
+++ b/install.sh
@@ -1,68 +1,62 @@
#!/bin/bash
-# Dependencies
-export NIXPKGS_ALLOW_UNFREE=1
-if [ $(pwd) != "$HOME/dotfiles" ]; then
- cd $HOME
- git clone https://github.com/TrudeEH/dotfiles --depth 1
- cd dotfiles
-fi
-
-if ! nix --version &>/dev/null; then
- echo "[E] Nix not found."
- echo "[+] Installing the Nix package manager..."
- curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
- . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
- echo "[I] Installed Nix."
-fi
+# Colors
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+YELLOW='\033[0;33m'
+BLUE='\033[0;34m'
+NC='\033[0m' # No Color
echo
echo "####################"
echo "# Trude's Dotfiles #"
echo "####################"
echo
-echo "1) Set up Generic System"
-echo "2) Set up NixOS"
-echo "3) Set up macOS"
-echo
-read -p "> " main_menu
-case $main_menu in
- 1)
- # Install Home-manager
- nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
- nix-channel --update
- mkdir -p $HOME/.pre-nix-backup/
- mv $HOME/.bashrc $HOME/.profile $HOME/.pre-nix-backup/
- nix-shell '' -A install
+echo -e "${YELLOW}[+] Updating distro...${NC}"
+sudo apt update
- # Apply config
- mkdir -p $HOME/.config/home-manager
- rm $HOME/.config/home-manager/home.nix
- cp ./nix/home.nix $HOME/.config/home-manager/home.nix
+# Check if git is installed
+if ! git --version &>/dev/null; then
+ echo -e "${YELLOW}[+] Installing GIT...${NC}"
+ sudo apt install -y git
+ if [ $? -ne 0 ]; then
+ echo -e "${RED}[E] Error installing GIT. Exiting...${NC}"
+ exit 1
+ fi
+else
+ echo -e "${GREEN}[I] GIT is already installed.${NC}"
+fi
- home-manager switch -b backup
- ;;
- 2)
- sudo cp -rf ./nix/nixos/* /etc/nixos/
- sudo cp -f ./nix/home.nix /etc/nixos/
- sudo nixos-rebuild switch --flake /etc/nixos#default
- ;;
- 3)
- mkdir -p ~/.config/nix-darwin/
- cp -rf ./nix/macOS/* ~/.config/nix-darwin/
- cp -f ./nix/home.nix ~/.config/nix-darwin/
+# Clone Dotfiles if not already present
+cd $HOME/dotfiles
+if [ $(pwd) != "$HOME/dotfiles" ]; then
+ echo -e "${YELLOW}[+] Cloning Dotfiles repository...${NC}"
+ git clone https://github.com/TrudeEH/dotfiles --depth 1
+ if [ $? -ne 0 ]; then
+ echo -e "${RED}[E] Error cloning Dotfiles repository. Exiting...${NC}"
+ exit 2
+ fi
+ cd dotfiles
+ echo -e "${GREEN}[I] Dotfiles repository cloned successfully.${NC}"
+else
+ echo -e "${GREEN}[I] Dotfiles repository already present.${NC}"
+fi
- if [[ $(uname -m) == "x86_64" ]]; then
- echo "Intel mac detected."
- nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#x86
- else
- echo "Apple silicon detected."
- nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#default
- fi
- ;;
- *)
- echo "Invalid option selected."
- return 1
- ;;
-esac
+# Copy files
+echo -e "${YELLOW}[+] Installing Dotfiles...${NC}"
+cp -r $HOME/dotfiles/home/. $HOME
+if [ $? -ne 0 ]; then
+ echo -e "${RED}[E] Error copying Dotfiles.${NC}"
+else
+ echo -e "${GREEN}[I] Dotfiles installed successfully.${NC}"
+fi
+
+# Load Dconf (GNOME settings)
+echo -e "${YELLOW}[+] Loading Dconf settings...${NC}"
+dconf load / <$HOME/dotfiles/dconf-settings.ini
+if [ $? -ne 0 ]; then
+ echo -e "${RED}[E] Error loading Dconf settings.${NC}"
+else
+ echo -e "${GREEN}[I] Dconf settings loaded successfully.${NC}"
+fi
diff --git a/nix-shells/macos-vm.nix b/nix-shells/macos-vm.nix
deleted file mode 100644
index 4cfa71c5..00000000
--- a/nix-shells/macos-vm.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-let
- nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05";
- pkgs = import nixpkgs { config = {}; overlays = []; };
-in
-
-pkgs.mkShellNoCC {
- packages = with pkgs; [
- quickemu
- ];
-
- shellHook = ''
- mkdir -p macos-vm
- cd macos-vm
- if [ ! -d "macos-sonoma" ]; then
- quickget macos sonoma
- fi
- quickemu --vm macos-sonoma.conf
- '';
-}
diff --git a/nix/home.nix b/nix/home.nix
deleted file mode 100644
index 672d1203..00000000
--- a/nix/home.nix
+++ /dev/null
@@ -1,742 +0,0 @@
-# man home-configuration.nix
-{ config, lib, pkgs, ... }:
-
-let
- inherit (lib) mkIf optionals;
- inherit (pkgs.stdenv) isLinux isDarwin; #GNOME on Linux
- userName = "trude";
- isDesktop = true; # Disable for servers and WSL
-in
-{
- # =======================================================================
- # ----------------------- HOME & INSTALLED PACKAGES ---------------------
- # =======================================================================
-
- home.username = userName;
- home.homeDirectory = if isLinux then "/home/${userName}" else "/Users/${userName}";
- home.stateVersion = "24.05";
-
- nixpkgs.config.allowUnfree = true;
-
- home.packages = with pkgs; [
- gh unzip fastfetch
-
- # Override nerdfont to install JetBrains only.
- (nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
-
- # Shell Scripts
- (writeShellScriptBin "extract" ''
- if [ -f $1 ]; then
- case $1 in
- *.tar.bz2) tar xjf $1 ;;
- *.tar.gz) tar xzf $1 ;;
- *.bz2) bunzip2 $1 ;;
- *.rar) unrar e $1 ;;
- *.gz) gunzip $1 ;;
- *.tar) tar xf $1 ;;
- *.tbz2) tar xjf $1 ;;
- *.tgz) tar xzf $1 ;;
- *.zip) unzip $1 ;;
- *.Z) uncompress $1 ;;
- *.7z) 7z x $1 ;;
- *) echo "'$1' cannot be extracted via extract()" ;;
- esac
- else
- echo "'$1' is not a valid file"
- fi
- '')
-
- (writeShellScriptBin "pushall" ''
- if [[ -z "$1" ]]; then
- echo "Usage: pushall \"commit message\""
- else
- git pull
- git diff
- read -p "Press ENTER to continue..."
- git add -A
- git commit -m "$@"
- git push
- fi
- '')
-
- (writeShellScriptBin "update" ''
- nix-channel --update
- if command -v nixos-rebuild 2>&1 >/dev/null; then
- sudo nixos-rebuild switch --recreate-lock-file --flake /etc/nixos#default
- elif command -v darwin-rebuild 2>&1 >/dev/null; then
- sudo softwareupdate -i -a
- nix run nix-darwin -- switch --recreate-lock-file --flake ~/.config/nix-darwin#default
- else
- home-manager -b backup switch
- fi
- '')
- ]
- # Desktop-only apps
- ++ optionals isDesktop [google-chrome]
- # Linux-only apps
- ++ optionals (isDesktop && isLinux) [newsflash eyedropper gnome-terminal epiphany gnome-podcasts impression gnome-boxes adw-gtk3 gnomeExtensions.vitals gnomeExtensions.appindicator gnomeExtensions.caffeine gnomeExtensions.search-light]
- # macOS-only apps
- ++ optionals (isDesktop && isDarwin) [net-news-wire raycast iina discord];
-
- home.file = {
- ".config/nixpkgs/config.nix".text = "{ allowUnfree = true; }";
- } // (if isLinux then {
- # Cursor theme fix (Linux)
- ".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic"; # Set file content as another file
- } else {});
-
- home.sessionVariables = {
- EDITOR = "code";
- };
-
- # =====================================================
- # -------------------- LINUX --------------------------
- # =====================================================
- gtk = mkIf isLinux {
- enable = true;
- cursorTheme = {
- name = "Bibata-Modern-Classic";
- package = pkgs.bibata-cursors;
- size = 22;
- };
-
- # iconTheme = {
- # name = "Papirus";
- # package = pkgs.papirus-icon-theme;
- # };
- };
-
- dconf.settings = with lib.hm.gvariant; mkIf isLinux {
- "org/gnome/Console" = {
- theme = "auto";
- use-system-font = true;
- };
-
- "org/gnome/calculator" = {
- accuracy = 9;
- angle-units = "degrees";
- base = 10;
- button-mode = "programming";
- number-format = "automatic";
- show-thousands = false;
- show-zeroes = false;
- source-currency = "";
- source-units = "degree";
- target-currency = "";
- target-units = "radian";
- word-size = 64;
- };
-
- "org/gnome/desktop/a11y/interface" = {
- high-contrast = false;
- show-status-shapes = false;
- };
-
- "org/gnome/desktop/background" = {
- color-shading-type = "solid";
- picture-options = "zoom";
- picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/blobs-l.svg";
- picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/blobs-d.svg";
- primary-color = "#241f31";
- secondary-color = "#000000";
- };
-
- "org/gnome/desktop/calendar" = {
- show-weekdate = false;
- };
-
- "org/gnome/desktop/datetime" = {
- automatic-timezone = true;
- };
-
- "org/gnome/desktop/input-sources" = {
- current = mkUint32 0;
- mru-sources = [ (mkTuple [ "xkb" "pt" ]) (mkTuple [ "xkb" "pt" ]) ];
- sources = [ (mkTuple [ "xkb" "pt" ]) ];
- xkb-options = [ "caps:ctrl_modifier" ];
- };
-
- "org/gnome/desktop/interface" = {
- clock-format = "12h";
- clock-show-seconds = false;
- clock-show-weekday = true;
- color-scheme = "prefer-dark";
- enable-animations = true;
- font-antialiasing = "grayscale";
- font-hinting = "slight";
- gtk-theme = "adw-gtk3-dark";
- locate-pointer = false;
- monospace-font-name = "JetBrainsMono Nerd Font 11";
- overlay-scrolling = true;
- toolkit-accessibility = false;
- };
-
- "org/gnome/desktop/peripherals/touchpad" = {
- two-finger-scrolling-enabled = true;
- };
-
- "org/gnome/desktop/privacy" = {
- old-files-age = mkUint32 30;
- recent-files-max-age = 30;
- remove-old-temp-files = true;
- remove-old-trash-files = true;
- report-technical-problems = true;
- };
-
- "org/gnome/desktop/screensaver" = {
- color-shading-type = "solid";
- picture-options = "zoom";
- picture-uri = "file:///usr/share/backgrounds/gnome/blobs-l.svg";
- primary-color = "#241f31";
- secondary-color = "#000000";
- };
-
- "org/gnome/desktop/search-providers" = {
- enabled = [ "org.gnome.Weather.desktop" ];
- sort-order = [ "org.gnome.Contacts.desktop" "org.gnome.Documents.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Calculator.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.Characters.desktop" "org.gnome.clocks.desktop" ];
- };
-
- "org/gnome/desktop/session" = {
- idle-delay = mkUint32 300;
- };
-
- "org/gnome/desktop/sound" = {
- event-sounds = true;
- theme-name = "__custom";
- };
-
- "org/gnome/desktop/wm/preferences" = {
- button-layout = "appmenu:minimize,close";
- resize-with-right-button = true;
- visual-bell = false;
- };
-
- "org/gnome/epiphany" = { # GNOME Web
- homepage-url = "about:newtab";
- start-in-incognito-mode = false;
- restore-session-policy = "always";
- use-google-search-suggestions = false;
- default-search-engine = "StartPage";
-
- search-engine-providers = with lib.hm.gvariant; [
- [
- (mkDictionaryEntry["url" (mkVariant "https://duckduckgo.com/?q=%s&t=epiphany")])
- (mkDictionaryEntry["bang" (mkVariant "!d")])
- (mkDictionaryEntry["name" (mkVariant "DuckDuckGo")])
- ]
- [
- (mkDictionaryEntry["url" (mkVariant "https://www.google.com/search?q=%s")])
- (mkDictionaryEntry["bang" (mkVariant "!g")])
- (mkDictionaryEntry["name" (mkVariant "Google")])
- ]
- [
- (mkDictionaryEntry["url" (mkVariant "https://search.nixos.org/packages?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=%s")])
- (mkDictionaryEntry["bang" (mkVariant "!np")])
- (mkDictionaryEntry["name" (mkVariant "Nix Packages")])
- ]
- [
- (mkDictionaryEntry["url" (mkVariant "https://www.startpage.com/search?q=%s")])
- (mkDictionaryEntry["bang" (mkVariant "!s")])
- (mkDictionaryEntry["name" (mkVariant "StartPage")])
- ]
- ];
-
- content-filters = [
- "https://easylist-downloads.adblockplus.org/easylist_min_content_blocker.json"
- "https://better.fyi/blockerList.json"
- "https://github.com/AdguardTeam/BlockYouTubeAdsShortcut/blob/master/index.js"
- ];
- };
-
- "org/gnome/epiphany/web" = {
- show-developer-actions = true;
- };
-
- "org/gnome/evince/default" = {
- continuous = true;
- dual-page = false;
- dual-page-odd-left = true;
- enable-spellchecking = true;
- inverted-colors = false;
- show-sidebar = true;
- sidebar-page = "thumbnails";
- sidebar-size = 132;
- sizing-mode = "automatic";
- };
-
- "org/gnome/evolution-data-server" = {
- migrated = true;
- };
-
- "org/gnome/mutter" = {
- center-new-windows = true;
- edge-tiling = true;
- experimental-features = [ "scale-monitor-framebuffer" ];
- };
-
- "org/gnome/mutter/keybindings" = {
- toggle-tiled-left = [];
- toggle-tiled-right = [];
- };
-
- "org/gnome/nautilus/icon-view" = {
- default-zoom-level = "small";
- };
-
- "org/gnome/nautilus/preferences" = {
- default-folder-viewer = "icon-view";
- migrated-gtk-settings = true;
- search-filter-time-type = "last_modified";
- };
-
- "org/gnome/settings-daemon/plugins/color" = {
- night-light-enabled = true;
- night-light-temperature = mkUint32 2410;
- sleep-inactive-ac-timeout = 3600;
- sleep-inactive-ac-type = "nothing";
- };
-
- "org/gnome/settings-daemon/plugins/power" = {
- power-button-action = "interactive";
- sleep-inactive-ac-type = "nothing";
- };
-
- "org/gnome/shell" = {
- enabled-extensions = [ "caffeine@patapon.info" "appindicatorsupport@rgcjonas.gmail.com" "Vitals@CoreCoding.com" "gtk4-ding@smedius.gitlab.com" "blur-my-shell@aunetx" "search-light@icedman.github.com" ];
- favorite-apps = [];
- last-selected-power-profile = "performance";
- };
-
- "org/gnome/shell/extensions/dash-to-dock" = {
- dash-max-icon-size = 34;
- dock-fixed = false;
- dock-position = "BOTTOM";
- extend-height = false;
- };
-
- "org/gnome/shell/extensions/ding" = {
- check-x11wayland = true;
- icon-size = "small";
- show-home = false;
- };
-
- "org/gnome/shell/extensions/vitals" = {
- fixed-widths = false;
- hot-sensors = [ "_memory_usage_" "_processor_usage_" "__temperature_max__" ];
- icon-style = 1;
- use-higher-precision = false;
- };
-
- "org/gnome/shell/extensions/search-light" = {
- background-color = mkTuple [ 0.1411764770746231 0.1411764770746231 0.1411764770746231 1.0 ];
- blur-background=false;
- border-radius=5.7443946188340806;
- border-thickness=0;
- currency-converter=true;
- entry-font-size=1;
- scale-height=0.10000000000000001;
- scale-width=0.10000000000000001;
- unit-converter=true;
- window-effect=0;
- };
-
- "org/gnome/shell/world-clocks" = {
- locations = [];
- };
-
- "org/gnome/system/location" = {
- enabled = true;
- };
-
- "org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9" = {
- background-color = "rgb(0,0,0)";
- backspace-binding = "auto";
- exit-action = "hold";
- font = "JetBrainsMono Nerd Font 12";
- foreground-color = "rgb(208,207,204)";
- use-system-font = false;
- use-theme-colors = true;
- };
- };
-
- # Default browser
- xdg.mimeApps = mkIf isLinux {
- enable = true;
- defaultApplications = {
- "text/html" = "org.gnome.Epiphany.desktop";
- "x-scheme-handler/http" = "google-chrome.desktop";
- "x-scheme-handler/https" = "google-chrome.desktop";
- "x-scheme-handler/about" = "google-chrome.desktop";
- "x-scheme-handler/unknown" = "google-chrome.desktop";
- };
- };
-
-
- # ===========================================================
- # -------------------- Independent --------------------------
- # ===========================================================
-
- # Autostart services on boot
- services = {
- gnome-keyring.enable = isLinux;
- };
-
- programs = {
- home-manager.enable = true;
-
- firefox = {
- enable = false;
- policies = {
- DisableTelemetry = true;
- DisableFirefoxStudies = true;
- DontCheckDefaultBrowser = true;
- DisablePocket = true;
- SearchBar = "unified";
-
- Preferences = {
- # Privacy settings
- "extensions.pocket.enabled" = false;
- "browser.topsites.contile.enabled" = false;
- "browser.newtabpage.activity-stream.showSponsored" = false;
- "browser.newtabpage.activity-stream.system.showSponsored" = false;
- "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
- };
-
- ExtensionSettings = {
- "uBlock0@raymondhill.net" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
- installation_mode = "force_installed";
- };
- "jid1-MnnxcxisBPnSXQ@jetpack" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
- installation_mode = "force_installed";
- };
- };
- };
-
- profiles.default = {
- id = 0;
- name = "TrudeEH";
- isDefault = true;
- settings = {
- "browser.startup.homepage" = "about:newtab";
- "browser.search.defaultenginename" = "DuckDuckGo";
- "browser.search.order.1" = "DuckDuckGo";
- "general.smoothScroll" = true;
- "browser.disableResetPrompt" = true;
- "browser.download.panel.shown" = true;
- "browser.download.useDownloadDir" = false;
- "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
- "browser.shell.checkDefaultBrowser" = false;
- "browser.shell.defaultBrowserCheckCount" = 1;
- "dom.security.https_only_mode" = true;
- "identity.fxaccounts.enabled" = false;
- "privacy.trackingprotection.enabled" = true;
- "signon.rememberSignons" = false;
- };
- search = {
- force = true;
- default = "Startpage";
- order = [ "Startpage" "DuckDuckGo" "Google" ];
- engines = {
- "Startpage" = {
- urls = [{
- template = "https://www.startpage.com/do/search?query={searchTerms}";
- }];
- definedAliases = [ "@s" ];
- };
- "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" ];
- };
- "NixOS Wiki" = {
- urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
- iconUpdateURL = "https://nixos.wiki/favicon.png";
- updateInterval = 24 * 60 * 60 * 1000; # every day
- definedAliases = [ "@nw" ];
- };
- "Bing".metaData.hidden = true;
- "Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
- };
- };
- bookmarks = [
- {
- name = "Toolbar";
- toolbar = true;
- bookmarks = [
- {
- name = "YouTube";
- url = "https://www.youtube.com/";
- }
- {
- name = "Arch Linux";
- tags = [ "news" "wiki" "arch" ];
- url = "https://archlinux.org/";
- }
- {
- name = "NixOS Discourse";
- tags = [ "wiki" "nix" ];
- url = "https://discourse.nixos.org/";
- }
- {
- name = "GitHub";
- url = "https://github.com/";
- }
- {
- name = "WOL";
- url = "https://wol.jw.org/pt-PT/";
- }
- {
- name = "Rust Book";
- url = "https://doc.rust-lang.org/stable/book/";
- }
- {
- name = "Rust by example";
- url = "https://doc.rust-lang.org/stable/rust-by-example/";
- }
- {
- name = "Rustlings";
- url = "https://github.com/rust-lang/rustlings/";
- }
- ];
- }
- ];
- };
- };
-
- neovim = {
- enable = true;
- viAlias = true;
- vimAlias = true;
- vimdiffAlias = true;
- plugins = with pkgs.vimPlugins; [
- nvim-treesitter.withAllGrammars
- ];
- # Use the Nix package search engine to find
- # even more plugins : https://search.nixos.org/packages
- };
-
- tmux = {
- enable = true;
- aggressiveResize = true;
- baseIndex = 1;
- disableConfirmationPrompt = true;
- escapeTime = 250;
- keyMode = "vi";
- mouse = true;
- plugins = with pkgs; [ tmuxPlugins.cpu ];
- prefix = "C-s";
- terminal = "tmux-256color";
- shell = if isLinux then "${pkgs.zsh}/bin/zsh" else "/bin/zsh";
-
- extraConfig = ''
- bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
-
- # hjkl pane traversal
- bind-key h select-pane -L
- bind-key j select-pane -D
- bind-key k select-pane -U
- bind-key l select-pane -R
-
- # easy reload config
- bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded."
-
- # set window split
- bind-key v split-window -h -c "#{pane_current_path}"
- bind-key b split-window -v -c "#{pane_current_path}"
-
- # Styling
- set-option -g status-position top
- set -g mode-style "fg=black,bg=orange"
- set-option -g pane-border-style fg=colour236
- set-option -g pane-active-border-style fg=orange
- set-window-option -g window-status-current-style fg=orange,bg=default,bright
- set-window-option -g window-status-style fg=colour244,bg=default
- set-window-option -g clock-mode-colour orange
- set-option -g status-style "bg=default,fg=white"
- set-option -g status-left ""
- set-option -g status-right '[Session: #S] [CPU: #{cpu_fg_color}#{cpu_percentage}#[default]] [RAM: #{ram_fg_color}#{ram_percentage}#[default]] %d#[dim]/#[default]%m#[dim]/#[default]%Y %I:%M#[dim]%P#[default]'
- set -g status-interval 1
- set -g status-right-length 60
-
- set -g @cpu_high_fg_color "#[fg=#FF0000]"
- set -g @ram_high_fg_color "#[fg=#FF0000]"
- run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux
- '';
- };
-
- git = {
- enable = true;
- userName = "TrudeEH";
- userEmail = "ehtrude@gmail.com";
- aliases = {
- a = "add";
- c = "commit";
- ca = "commit --amend";
- can = "commit --amend --no-edit";
- cl = "clone";
- cm = "commit -m";
- co = "checkout";
- cp = "cherry-pick";
- cpx = "cherry-pick -x";
- d = "diff";
- f = "fetch";
- fo = "fetch origin";
- fu = "fetch upstream";
- lol = "log --graph --decorate --pretty=oneline --abbrev-commit";
- lola = "log --graph --decorate --pretty=oneline --abbrev-commit --all";
- pl = "pull";
- pr = "pull -r";
- ps = "push";
- psf = "push -f";
- rb = "rebase";
- rbi = "rebase -i";
- r = "remote";
- ra = "remote add";
- rr = "remote rm";
- rv = "remote -v";
- rs = "remote show";
- st = "status";
- };
- extraConfig = {
- pull = {
- rebase=true;
- };
- };
- };
-
- starship = {
- enable = true;
- enableBashIntegration = true;
- enableZshIntegration = true;
- settings = {
- add_newline = true;
- };
- };
-
- bash = {
- enable = true;
- enableCompletion = true;
- shellAliases = {
- l = "ls -alh";
- ls = "ls --color=auto";
- ll = "ls -lhi";
- grep = "grep --color=auto";
- ta = "tmux attach";
- t = "tmux";
- v = "nvim";
- cpp = "rsync -ah --progress";
- code = "codium --enable-features=UseOzonePlatform --ozone-platform=wayland";
- neofetch = "fastfetch";
- sudo = "sudo -i";
- ns = "nix-shell";
- };
- initExtra = "set completion-ignore-case On";
- bashrcExtra = ''
- set -o vi
- export EDITOR="code";
- export PS1="\n[\[\e[37m\]\u\[\e[0m\]@\[\e[37;2m\]\h\[\e[0m\]] \[\e[1m\]\w \[\e[0;2m\]J:\[\e[0m\]\j\n\$ ";
- '';
- };
-
- zsh = {
- enable = true;
- enableCompletion = true;
- autosuggestion.enable = true;
- syntaxHighlighting.enable = true;
-
- shellAliases = {
- l = "ls -alh";
- ls = "ls --color=auto";
- ll = "ls -lhi";
- grep = "grep --color=auto";
- ta = "tmux attach";
- t = "tmux";
- v = "nvim";
- cpp = "rsync -ah --progress";
- code = "codium --enable-features=UseOzonePlatform --ozone-platform=wayland";
- neofetch = "fastfetch";
- sudo = "sudo -i";
- ns = "nix-shell";
- };
-
- initExtra = ''
- # Case-insensitive completion
- autoload -Uz compinit && compinit
- zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
-
- set -o vi
- export EDITOR="nvim";
- '';
- };
-
- vscode = {
- enable = true;
- package = pkgs.vscodium;
- enableUpdateCheck = false;
- enableExtensionUpdateCheck = false;
- mutableExtensionsDir = false;
-
- # Extensions
- extensions = (with pkgs.vscode-extensions; [
- esbenp.prettier-vscode
- ms-vscode-remote.remote-ssh
- mhutchie.git-graph
- pkief.material-icon-theme
- oderwat.indent-rainbow
- jnoortheen.nix-ide
- ritwickdey.liveserver
- github.vscode-pull-request-github
- arrterian.nix-env-selector
- llvm-vs-code-extensions.vscode-clangd
- formulahendry.code-runner
- ]);
-
- # Settings
- userSettings = {
- # General
- "editor.fontSize" = 14;
- "editor.fontFamily" = "'JetBrainsMono Nerd Font', 'monospace', monospace";
- "terminal.integrated.fontSize" = 12;
- "terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', 'monospace', monospace";
- "window.zoomLevel" = 0.1;
- "editor.multiCursorModifier" = "ctrlCmd";
- "workbench.startupEditor" = "none";
- "explorer.compactFolders" = false;
- "workbench.tree.indent" = 12;
- # Whitespace
- "files.trimTrailingWhitespace" = true;
- "files.trimFinalNewlines" = true;
- "files.insertFinalNewline" = true;
- "diffEditor.ignoreTrimWhitespace" = false;
- # Git
- "git.enableCommitSigning" = false;
- "git.enableSmartCommit" = true;
- "git.confirmSync" = false;
- "git.autofetch" = true;
- # Styling
- "window.autoDetectColorScheme" = true;
- "workbench.iconTheme" = "material-icon-theme";
- "material-icon-theme.activeIconPack" = "none";
- "material-icon-theme.folders.theme" = "classic";
- "editor.fontLigatures" = true;
- "window.commandCenter" = true;
- "editor.renderLineHighlight" = "none";
- # Other
- "telemetry.telemetryLevel" = "off";
- "update.showReleaseNotes" = false;
- "window.titleBarStyle" = "custom";
- "explorer.confirmDelete" = false;
- "explorer.confirmDragAndDrop" = false;
- "editor.defaultFormatter" = "esbenp.prettier-vscode";
- };
- };
- };
-}
diff --git a/nix/macOS/flake.nix b/nix/macOS/flake.nix
deleted file mode 100644
index e74bf822..00000000
--- a/nix/macOS/flake.nix
+++ /dev/null
@@ -1,169 +0,0 @@
-{
- description = "Darwin system flake";
-
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
-
- nix-darwin = {
- url = "github:LnL7/nix-darwin";
- inputs.nixpkgs.follows = "nixpkgs";
- };
-
- home-manager = {
- url = "github:nix-community/home-manager";
- inputs.nixpkgs.follows = "nixpkgs";
- };
-
- # Fix an issue where home-manager apps are not indexed on Spotlight
- mac-app-util = {
- url = "github:hraban/mac-app-util";
- inputs.nixpkgs.follows = "nixpkgs";
- };
- };
-
- outputs = inputs@{ self, nix-darwin, nixpkgs, home-manager, mac-app-util }:
- let
- configuration = { pkgs, config, ... }: {
- services.nix-daemon.enable = true;
- nix.settings.experimental-features = "nix-command flakes";
- nixpkgs.config.allowUnfree = true;
- system.configurationRevision = self.rev or self.dirtyRev or null;
- system.stateVersion = 5;
-
- users.users.trude = {
- name = "trude";
- home = "/Users/trude";
- };
-
- home-manager = {
- extraSpecialArgs = {inherit inputs;};
- backupFileExtension = "backup";
- users = {
- "trude" = import ./home.nix;
- };
- sharedModules = [
- mac-app-util.homeManagerModules.default
- ];
- };
-
- environment.systemPackages = [];
-
- security.pam.enableSudoTouchIdAuth = true;
-
- system.defaults = {
- # https://daiderd.com/nix-darwin/manual/index.html
-
- ActivityMonitor = {
- IconType = 5;
- SortColumn = "CPUUsage";
- SortDirection = 0;
- };
-
- NSGlobalDomain = {
- AppleICUForce24HourTime = false;
- AppleInterfaceStyle = "Dark";
- AppleScrollerPagingBehavior = true;
- AppleShowAllExtensions = true;
- AppleShowAllFiles = true;
- NSDocumentSaveNewDocumentsToCloud = false;
- NSWindowShouldDragOnGesture = true;
- KeyRepeat = 2;
- "com.apple.mouse.tapBehavior" = 1; #Tap to click on mouse.
- "com.apple.swipescrolldirection" = false; #Normal scrolling.
-
- };
-
- WindowManager = {
- EnableStandardClickToShowDesktop = true;
- StandardHideDesktopIcons = false;
- };
-
-
- alf = {
- globalstate = 1; #Firewall
- stealthenabled = 1; #Drop incoming ping requests
- };
-
- dock = {
- autohide = false;
- autohide-delay = 0.0;
- autohide-time-modifier = 0.5; #Dock autohide animation speed
- expose-animation-duration = 0.5; #Mission Control animation speed
- minimize-to-application = true; #Minimize windows into their application icon
-
- persistent-apps = [ #Dock apps
- ];
-
- persistent-others = [ #Dock folders
- "/Users/trude/Downloads"
- ];
-
- show-recents = false; #Dock show recent apps
- showhidden = true;
- static-only = false; #Show only open apps in dock
- tilesize = 48; #Dock icon size
- };
-
-
- finder = {
- AppleShowAllExtensions = true;
- AppleShowAllFiles = true;
- FXDefaultSearchScope = "SCcf"; #Search defaults to current folder
- FXEnableExtensionChangeWarning = false;
- FXPreferredViewStyle = "Nlsv"; #Default to list view
- ShowPathbar = true;
- ShowStatusBar = true;
- _FXSortFoldersFirst = true;
- };
-
- loginwindow.GuestEnabled = false;
-
- menuExtraClock = {
- Show24Hour = false;
- ShowAMPM = true;
- ShowDayOfMonth = true;
- };
-
- screencapture.disable-shadow = false;
- screensaver.askForPassword = true;
-
- trackpad.Clicking = true; #Tap to click
- trackpad.Dragging = true;
- };
-
- system.keyboard = {
- enableKeyMapping = true;
- remapCapsLockToControl = true;
- };
- };
-
- intel = { pkgs, config, ... }: {
- nixpkgs.hostPlatform = "x86_64-darwin";
- };
-
- apple-silicon = { pkgs, config, ... }: {
- nixpkgs.hostPlatform = "aarch64-darwin";
- };
- in
- {
- # Build darwin flake using:
- # $ nix run nix-darwin -- switch --flake ~/.config/nix-darwin
- darwinConfigurations.default = nix-darwin.lib.darwinSystem {
- modules = [
- configuration
- apple-silicon
- inputs.mac-app-util.darwinModules.default
- inputs.home-manager.darwinModules.default
- ];
- };
- darwinConfigurations.x86 = nix-darwin.lib.darwinSystem {
- modules = [
- configuration
- intel
- inputs.mac-app-util.darwinModules.default
- inputs.home-manager.darwinModules.default
- ];
- };
- darwinPackages = self.darwinConfigurations.default.pkgs;
- };
-}
diff --git a/nix/nixos/flake.nix b/nix/nixos/flake.nix
deleted file mode 100644
index a635cd20..00000000
--- a/nix/nixos/flake.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- description = "Nixos config flake";
-
- inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
-
- home-manager = {
- url = "github:nix-community/home-manager";
- inputs.nixpkgs.follows = "nixpkgs";
- };
- };
-
- outputs = { self, nixpkgs, ... }@inputs:
- let
- configuration = { lib, config, pkgs, inputs, ... }: {
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
- nixpkgs.config.allowUnfree = true;
-
- environment = {
- systemPackages = with pkgs; [ ];
- shells = with pkgs; [ zsh ];
- };
-
- users = {
- defaultUserShell = pkgs.zsh;
- users.trude = {
- isNormalUser = true;
- initialPassword = "trude";
- description = "TrudeEH";
- extraGroups = [ "networkmanager" "wheel" ];
- };
- };
- programs.zsh.enable = true;
- programs.steam.enable = true; #Home-manager steam installation crashes...
- programs.nix-ld.enable = true;
-
- home-manager = {
- extraSpecialArgs = {inherit inputs;};
- backupFileExtension = "backup";
- users = {
- "trude" = import ./home.nix;
- };
- };
-
- networking = {
- hostName = "trudeDev";
- networkmanager.enable = true;
- #firewall.allowedTCPPorts = [ ... ];
- #firewall.allowedUDPPorts = [ ... ];
- };
-
- services = {
- xserver = {
- enable = true;
- displayManager.gdm.enable = true;
- desktopManager.gnome.enable = true;
- xkb = {
- layout = "pt";
- variant = "";
- };
- };
- printing.enable = true;
- pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- #jack.enable = true;
- };
- #openssh.enable = true;
- };
-
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- virtualisation.libvirtd.enable = true;
-
- boot = {
- loader.systemd-boot.enable = true;
- loader.efi.canTouchEfiVariables = true;
- supportedFilesystems = ["ntfs"];
- };
-
- time.timeZone = "Europe/Lisbon";
- i18n.defaultLocale = "en_US.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "pt_PT.UTF-8";
- LC_IDENTIFICATION = "pt_PT.UTF-8";
- LC_MEASUREMENT = "pt_PT.UTF-8";
- LC_MONETARY = "pt_PT.UTF-8";
- LC_NAME = "pt_PT.UTF-8";
- LC_NUMERIC = "pt_PT.UTF-8";
- LC_PAPER = "pt_PT.UTF-8";
- LC_TELEPHONE = "pt_PT.UTF-8";
- LC_TIME = "pt_PT.UTF-8";
- };
- system.stateVersion = "24.05";
- };
- in
- {
- # Build darwin flake using:
- # $ sudo nixos-rebuild switch --flake /etc/nixos#default
- nixosConfigurations.default = nixpkgs.lib.nixosSystem {
- specialArgs = {inherit inputs;};
- modules = [
- ./hardware-configuration.nix
- configuration
- inputs.home-manager.nixosModules.default
- ];
- };
- };
-}
diff --git a/tempCodeRunnerFile.sh b/tempCodeRunnerFile.sh
new file mode 100644
index 00000000..07772190
--- /dev/null
+++ b/tempCodeRunnerFile.sh
@@ -0,0 +1 @@
+Filter out any property that has a space above it as is not a header. headers start with '['
\ No newline at end of file