{"id":15050990,"url":"https://github.com/krojiak/debian-gnome-dotfiles","last_synced_at":"2025-04-30T15:23:13.419Z","repository":{"id":257685701,"uuid":"859008938","full_name":"KroJIak/debian-gnome-dotfiles","owner":"KroJIak","description":"My personal Debian setup on Gnome for easy OS installation","archived":false,"fork":false,"pushed_at":"2025-01-03T16:03:07.000Z","size":32923,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T15:23:02.486Z","etag":null,"topics":["debian","dotfiles","gnome","rice"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KroJIak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-17T23:17:34.000Z","updated_at":"2025-03-30T09:49:56.000Z","dependencies_parsed_at":"2024-10-22T22:00:47.652Z","dependency_job_id":"9b1fbf0b-a82e-486a-9b43-7924dfac9f93","html_url":"https://github.com/KroJIak/debian-gnome-dotfiles","commit_stats":null,"previous_names":["krojiak/debian-gnome-dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KroJIak%2Fdebian-gnome-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KroJIak%2Fdebian-gnome-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KroJIak%2Fdebian-gnome-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KroJIak%2Fdebian-gnome-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KroJIak","download_url":"https://codeload.github.com/KroJIak/debian-gnome-dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251729823,"owners_count":21634295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debian","dotfiles","gnome","rice"],"created_at":"2024-09-24T21:30:08.896Z","updated_at":"2025-04-30T15:23:13.387Z","avatar_url":"https://github.com/KroJIak.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n## Introduction\nThis repository was created to quickly install my settings, configs and applications on Debian Gnome. This dotfile parodies the capabilities of bspwm (switching desktops, disabling minimize buttons, closing windows, etc.), but leaves the original settings and applications native to gnome.\n# About\n- **Distro:** Debian 12 (bookworm)\n- **Display Server:** X11\n- **Display Manager:** GDM\n- **Desktop Environment:** Gnome 43.9\n\n![Desktop view](assets/desktop.png)\n- **Terminal:** Kitty\n- **CLI Shell:** Fish\n- **File Manager:** Nautilus\n\n![Terminal view](assets/terminal.png)\n- **Sound Mixer:** PulseAudio\n- **Task Manager:** btop++\n\n![btop++ view](assets/btop.png)\n- **Media Player:** MPV\n- **GTK Theme:** Orchis green dark\n\n![Media player and theme view](assets/media-player-and-theme.png)\n- **Web Browser:** Firefox\n- **Torrent Client:** qBitTorrent\n- **Quick Access Toolbar (Dock replacement):** Gnome Pie\n\n![Gnome pie view](assets/gnome-pie.gif)\n# Setup\n`Total installation time:` **`21 minutes`**\n## Debian Expert Installer\nFirst, you need to install the Debian 12 image. The installation can be done via a USB flash drive.\nNext, select the following options:\n`Advanced options -\u003e Expert install`\n#### Choose language\n- Language: `English`\n- Country: `other -\u003e Europe -\u003e Russian Federation` (This method is used to select Russian as a secondary language)\n- Default locale: `United States (en_US.UTF-8)`\n- Other locale: `ru_RU.UTF-8`\n- Select default locale: `en_US.UTF-8`\n#### Detect and mount installation media\n- Activate\n#### Load installer components from installation media\n- don't specify anything, just click `Continue`\n#### Detect network hardware\n- Activate\n#### Configure the network\n- Auto-configure networking?: `Yes`\n- Just click `Continue`\n- Hostname: change it to what you want (for example, `\"andrey-huawei\"`)\n- Domain name: `Continue`\n#### Set up users and passwords\n- Allow login as root?: `No`\n- Full name for the new user: you can just skip\n- Username for your account: preferably in small letters (it will be more convenient, for example, `\"andrey-debian\"`)\n- Choose a password for the new user: Just a password\n#### Configure the clock\n- Set the clock using NTP?: `Yes`\n- NTP server to use: Just click `Continue`\n- Select your time zone: Choose your option\n#### Detect disks\n- Activate\n#### Partition disks\n- you can handle it yourself :)\n#### Install the base system\n- Kernel to install: `linux-image-amd64` (for example)\n- Drivers to include in the initrd: `generic: include all available drivers`\n#### Configure the package manager\n- Scan extra installation media?: `No`\n- Use a network mirror?: `Yes`\n- Protocol for file downloads: `http`\n- Debian archive mirror country: choose your country\n- Debian archive mirror: `deb.debian.org`\n- Just click `Continue`\n- Use non-free firmware?: `Yes`\n- Use non-free software?: `Yes`\n- Enable source repositories in APT?: `Yes`\n- Services to use: Just click `Continue`\n#### Select and install software\n- Updates management on this system: `No automatic updates`\n- Participate in the package usage survey?: `No`\n- Choose software to install: Leave everything as it is, just click `Continue`\n#### Install the GRUB boot loader\n- Run os-prober automatically to detect and boot other OSes?: `Yes`\n- Install the GRUB boot loader to your primary drive?: `Yes`\n#### Finish the installation\n- Is the system clock set to UTC?: `Yes`\n- Please choose `\u003cContinue\u003e` to reboot: `Continue`\n## Automatic installation\nIn order not to manually install all the components, a script ([install.sh](install.sh)) was built to install each of the stages automatically. Also, don't forget to look at the #Extra Steps tab\n\nIf you do not want to install something from below, the installation of each component is scheduled in stages.\n## Manual installation\n### Removing applications\nI left some applications from gnome, because they are more convenient than their counterparts and have functionality related to gnome itself, but I deleted some of them:\n#### Update packages\n```Terminal\nsudo apt update -y \u0026\u0026 sudo apt upgrade -y\n```\n#### Remove this packages **([remove_trash.sh](scripts/apps/remove_trash.sh))**\n```Terminal\nsudo apt remove -y gnome-contacts gnome-weather gnome-2048 gnome-maps aisleriot gnome-calendar gnome-chess gnome-system-monitor gnome-logs gnome-characters five-or-more four-in-a-row hitori gnome-klotski lightsoff gnome-mahjongg gnome-mines gnome-music gnome-nibbles quadrapassel rhythmbox gnome-robots shotwell gnome-sound-recorder gnome-sudoku swell-foop tali gnome-taquin gnome-tetravex seahorse iagno totem\n```\n### Installing applications\n#### Snap installing **([snap.sh](scripts/apps/snap.sh))**\nBefore you start installing applications, you need to install snap, for easy installation of other applications.\n```Terminal\nsudo apt update -y \u0026\u0026 sudo apt upgrade -y\nsudo apt install snapd -y\n```\n#### Required applications **([required_apps.sh](scripts/apps/required_apps.sh))**\nThe following applications are required to install for easy use. I decided not to stray far from the decision of the author of the [repository](https://github.com/addy-dclxvi/debian-bspwm-dotfiles) and also use the `kitty` terminal with `fish`.\n```Terminal\nsudo snap install btop\nsudo apt install -y dconf-editor fish gnome-pie grub-customizer kitty pulseaudio curl git neofetch mpv openvpn network-manager-openvpn-gnome\n\n# Change the default shell to fish\nsudo chsh $USER -s /usr/bin/fish\n```\nIf your laptop is Huawei 14s/16s, you may have some sound problems. To solve this, run the fix [script](scripts/fixes/huawei_sound_fix/install.sh) (taken from [here](https://github.com/Smoren/huawei-ubuntu-sound-fix)).\n\nI also recommend using `flameshot` instead of the standard screenshot app:\n```Terminal\nsudo apt remove gnome-screenshot \u0026\u0026 sudo apt install -y flameshot\n```\n#### Optional applications **([optional_apps.sh](scripts/apps/optional_apps.sh))**\nFor my tasks, I use the following minimal application stack. This installation is optional.\n```Terminal\nsudo apt update -y \u0026\u0026 sudo apt upgrade -y\nsudo apt install -y qbittorrent\nsudo snap install pycharm-community --classic\nsudo snap install intellij-idea-ultimate --classic\nsudo snap install code --classic\nsudo snap install obsidian --classic\n# sudo snap install telegram-desktop # | Optionally install ayugram-desktop from telegram channel\nsudo snap install discord\nsudo snap install arduino\nsudo usermod -a -G dialout $USER\n```\nDocker **([docker.sh](scripts/apps/docker.sh))**:\n```Terminal\n# Add Docker's official GPG key:\nsudo apt update -y\nsudo apt install -y ca-certificates curl\nsudo install -m 0755 -d /etc/apt/keyrings\nsudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc\nsudo chmod a+r /etc/apt/keyrings/docker.asc\n\n# Add the repository to Apt sources:\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \\\n  $(. /etc/os-release \u0026\u0026 echo \"$VERSION_CODENAME\") stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\nsudo apt update -y\n\nsudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n```\nYandex Music **([yandex_music.sh](scripts/apps/yandex_music.sh))**:\n```Terminal\n# Variables\nREPO_URL=\"https://api.github.com/repos/cucumber-sp/yandex-music-linux/releases/latest\"\nTEMP_DEB=\"/tmp/yandex-music-linux.deb\"\n# Install dependencies\nsudo apt-get update\nsudo apt-get install -y curl jq\n# Get the download URL of the latest release, filtering for .deb files that contain \"amd64\"\nDOWNLOAD_URL=$(curl -s $REPO_URL | jq -r '.assets[] | select(.name | endswith(\".deb\") and contains(\"amd64\")) | .browser_download_url')\n# Check if the URL is empty\nif [ -z \"$DOWNLOAD_URL\" ]; then\n    echo \"Could not find an amd64 .deb file in the latest release.\"\n    exit 1\nfi\n# Download the .deb file\ncurl -L -o $TEMP_DEB \"$DOWNLOAD_URL\"\n# Install the package\nsudo dpkg -i $TEMP_DEB\n# Fix missing dependencies if any\nsudo apt-get install -f\n# Remove the temporary file\nrm $TEMP_DEB\n```\n#### Removing unnecessary packages\n```Terminal\nsudo apt autoremove -y\n```\n### Installing configs and extensions\nIn addition to the applications themselves, you need to install wallpapers, configs of these applications, settings and extensions with their configs.\n#### Adding images **([add_images.sh](scripts/custom/add_images.sh))**\n```Terminal\nsudo rm ~/.face\nsudo rm ~/.face.icon\n\ncp ../../home/background2K.png ~/.background2K.png\ncp ../../home/gdm_background2K.png ~/.gdm_background2K.png\n```\n#### Adding configs **([config.sh](scripts/custom/config.sh))**\n```Terminal\nsudo rm -r ~/.config\ncp -r ../../config ~/.config \n```\n#### Adding extensions **([set_extensions.sh](scripts/custom/set_extensions.sh))**\n```Terminal\nmkdir ~/.local/share/gnome-shell/extensions\ncp -r ../../extensions/backup/* ~/.local/share/gnome-shell/extensions/\ndconf load /org/gnome/shell/extensions/ \u003c ../../extensions/settings_backup.txt\n```\nTo enable them, run the following commands after restarting **([enable_extensions.sh](scripts/custom/enable_extensions.sh))**:\n```\ngnome-extensions enable just-perfection-desktop@just-perfection\ngnome-extensions enable mediacontrols@cliffniff.github.com\ngnome-extensions enable logomenu@aryan_k\ngnome-extensions enable tiling-assistant@leleat-on-github\ngnome-extensions enable quicksettings-audio-devices-hider@marcinjahn.com\ngnome-extensions enable Vitals@CoreCoding.com\ngnome-extensions enable quick-settings-avatar@d-go\ngnome-extensions enable top-bar-organizer@julian.gse.jsts.xyz\ngnome-extensions enable quick-settings-tweaks@qwreey\ngnome-extensions enable Bluetooth-Battery-Meter@maniacx.github.com\ngnome-extensions enable blur-my-shell@aunetx\ngnome-extensions enable trayIconsReloaded@selfmade.pl\ngnome-extensions enable block-caribou-36@lxylxy123456.ercli.dev\ngnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com\n```\n#### Updating ssh config **([update_ssh_config.sh](scripts/custom/update_ssh.config.sh))**:\n```\nmkdir $HOME/.ssh\nSSH_CONFIG_FILE=\"$HOME/.ssh/config\"\n\nif [ ! -f \"$SSH_CONFIG_FILE\" ]; then\n    touch \"$SSH_CONFIG_FILE\"\nfi\n\necho -e \"\\n# HostKeyAlgorithms for all hosts\" \u003e\u003e \"$SSH_CONFIG_FILE\"\necho -e \"\\nHost *\\n    HostKeyAlgorithms +ssh-rsa\" \u003e\u003e \"$SSH_CONFIG_FILE\"\n```\n### Setting themes\nTo make the system look beautiful, I use [theme for the appearance](https://github.com/vinceliuice/Orchis-theme) of the desktop and a [theme for loading grub](https://github.com/adi1090x/plymouth-themes), disabling all logs and dialog boxes.\n#### Orchis theme (desktop)\n```Terminal\ngit clone https://github.com/vinceliuice/Orchis-theme\ncd Orchis-theme\nbash install.sh --theme green --color dark --size standard\ngsettings set org.gnome.desktop.interface gtk-theme 'Orchis-Green-Dark'\ngsettings set org.gnome.shell.extensions.user-theme name 'Orchis-Green-Dark'\ncd ..\nsudo rm -r Orchis-theme\n\nsudo apt install -y libglib2.0-dev dconf-cli\ngit clone --depth=1 https://github.com/realmazharhussain/gdm-tools\ncd gdm-tools\nsudo bash install.sh\nset-gdm-theme backup update\nset-gdm-theme set -b ~/.gdm_background2K.png\ncd ..\nsudo rm -r gdm-tools\n```\n#### Plymouth theme (grub)\n```Terminal\nsudo rm /etc/default/grub\nsudo cp grub /etc/default/\nsudo update-grub\n\n# make sure you have the packages for plymouth\nsudo apt install -y plymouth\n\n# after downloading or cloning themes, copy the selected theme in plymouth theme dir\nsudo rm -r /usr/share/plymouth/themes/cubes\nsudo cp -r ../../../grub-theme /usr/share/plymouth/themes/cubes\n\n# install the new theme (angular, in this case)\nsudo update-alternatives -telegram-desktop-install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/cubes/cubes.plymouth 100\n\n# select the theme to apply\nsudo plymouth-set-default-theme cubes\n# update initramfs \nsudo update-initramfs -u\n```\n## Extra Steps\n- Be careful with the automatic installation. The scripts are not perfect and maybe some will not work for you, as they may only fit my system or account. I advise you to figure out each step of the installation yourself\n- After any of the installations, do not forget to change the graphics platform from wayland to Xorg, otherwise at least the gnome pie menu will not work: ![switch wayland to x11 tutorial](assets/switch-wayland-to-x11.gif)\n- I noticed that some applications cannot save the result if the window is closed not through the X (cross) button, but simply by closing (for example, when old keys are rebinded. To return the window close button, enter the command: `gsettings set org.gnome.desktop.wm.preferences button-layout :close`\n# Keybinds\nKeybinds were made based on the names of applications or associations with them. To launch the rest of the applications, `gnome pie` or search is used (clicking on win and entering the name).\n- **`Super + Enter`** Launch terminal\n- **`Alt + A`** Launch Gnome Pie\n- **`Super + Q`** Close window\n- **`Super + W`** Launch Firefox\n- **`Super + E`** Launch Nautilus\n- **`Super + T`** Launch Ayugram\n- **`Super + Y`** Launch Yandex music\n- **`Super + O`** Launch Obsidian\n- **`Super + P`** Change the monitor mode\n- **`Super + A`** Minimize the window\n- **`Super + S`** Launch Settings\n- **`Super + D`** Launch Discord\n- **`Super + K`** Log Out\n- **`Super + L`** Lockscreen\n- **`Super + ;`** Power off\n- **`Super + C`** Launch Calculator\n- **`Super + B`** Launch btop++\n- **`Super + Tab`** Change the window in the current workspace\n- **`Super + {number}`** Switch to the `{number}` workspace\n- **`Super + Shift + {number}`** Move the window to the `{number}` workspace\n- **`Alt + Tab`** Change the window on all workspaces\n- **`PrtSc`** Take screenshot using flameshot\n- **`Shift + PrtSc`** Open flameshot settings\n- **`Super + LMB`** Move window\n- **`Super + MMB`** Resize window\n## Credits\nSome material was taken from other repositories and has been slightly modified:\n- [Debian bspwm dotfiles](https://github.com/addy-dclxvi/debian-bspwm-dotfiles) | **Author:** [addy-dclxvi](https://github.com/addy-dclxvi) | **Taken:** background image, `kitty` config, `fish` config, some keybinds\n- [Orchis theme](https://github.com/vinceliuice/Orchis-theme) | **Author:** [vinceliuice](https://github.com/vinceliuice) | **Taken:** green dark theme\n- [Huawei ubuntu sound fix](https://github.com/Smoren/huawei-ubuntu-sound-fix) | **Author:** [Smoren](https://github.com/Smoren) | **Info:** for huawei 14s / 16s users (also work with Debian)\n- [plymouth themes](https://github.com/adi1090x/plymouth-themes) | **Author:** [adi1090x](https://github.com/adi1090x) | **Taken:** used `cubes` theme from pack 1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrojiak%2Fdebian-gnome-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrojiak%2Fdebian-gnome-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrojiak%2Fdebian-gnome-dotfiles/lists"}