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 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - 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