Releases: nico-castell/PopOS-Setup
Pop!_OS Setup 2.4.0
Release 2.4.0
This release comes after a seemingly not so many 16 commits, though the changes are extensive. These were the most important changes:
- Fixing bugs
- Improving (slightly) code maintainabilty
- Correcting outdated comments
- Categorizing the apt packages so the user can now choose to skip an entire software category when selecting packages to install
Changelog
Added
- init.vim:
- The file type limits was added to use tabs with a length of 8.
- vimrc:
- The file type limits was added to use tabs with a length of 8.
- remove.txt:
- Document Scanner was added to the list.
- back_me_up.sh:
- Added a notification to signal when the backup is finished.
- The script now also backs up the
~/.gitconfig
file.
Changed
- popOS_setup.sh:
- The mecanism to process the packages.txt file was changed for something that allows the user to skip entire categories of software.
- The loops that process remove.txt, packages.txt, and flatpaks.txt now use a file in memory for performance optimizations, this file is protected by unique names, chmod and umask.
- packages.txt:
- The format of the file was changed:
- Lines that are not indented represent categories
- Indented lines represent apps
- Indented lines belong to the category above them
- Indented lines must use a hard tab for indentation
- The packages Firefox and Geary Mail were added in their categories.
- The format of the file was changed:
- kdev.sh:
- The config option no longer reads the
Makefile
if you don't specify a config name, instead, it reads.config
.
- The config option no longer reads the
- .zshrc:
- The code for the git prompt was changed to be much faster by using zsh's vcs_info. This means less functionality, but much less code to run every time the prompt needs to be renderes.
- The shell can now detect when it is running inside GNOME Builder, and use the vscode prompt.
- The
la
alias now groups folders first. - Made many other tweaks to improve code maintainability and speed.
- .bashrc:
- The
la
alias now groups folders first.
- The
Fixed
- kdev.sh:
- Stop assuming the user's cwd when using
kdev config
. - Fixed
kdev config
failing to find the config type currently in use. - The
kdev clean
option on level 4 now also removes git untracked directories.
- Stop assuming the user's cwd when using
- init.vim:
- Fixed local settings that lingered when changing filetype from markdown, text, or limits to anything else.
- .vimrc:
- Fixed local settings that lingered when changing filetype from markdown, text, or limits to anything else.
Pop!_OS Setup 2.3.0
Release 2.3.0
This is a small release made in parity with the Fedora Setup project to syncronize changes to this date.
Changelog
Added
- remove.txt:
- Added Eddy to the list.
Fixed
- remove.txt:
- Fixed popsicle package not removing popsicle-gtk
Pop!_OS Setup 2.2.1
Release 2.2.1
This release completes the plan for 2.2.0 by adding support for installing Virt Manager (a type
1 hypervisor) and tools for kernel development. Additionally, many bugs were patched.
Changelog
Added
- packages.txt:
- Added Kernel development to the list.
- Added Virt Manager to the list.
- Added Trash CLI to the list.
- fakeroot.sh:
- This file is triggered by the selection of Kernel development, and helps to help the user
set up some kernel development tools.
- This file is triggered by the selection of Kernel development, and helps to help the user
- kdev.sh:
- This file will be installed by fakeroot.sh and it's role is to
help the user manage config files and kernel installations and uninstallations.
- This file will be installed by fakeroot.sh and it's role is to
- virt-manager.sh:
- This file configures libvirt to allow the user to run and manage virtual machines.
- popOS_setup.sh:
- The package pixz is now installed as essential.
- flatpaks.txt:
- Added Discord to the list.
- remove.txt:
- Added popsicle and gnome help to the list.
Fixed
- popOS_setup.sh:
- Fixed the welcome message.
- Fixed system installation of flatpaks.
- gnome_settings.sh:
- Fixed bad usage of dconf when configuring gedit.
- zsh.sh:
- Fixed permission denied when writing to
/etc/zsh/zshenv
.
- Fixed permission denied when writing to
- .zshrc:
- The git prompt now doesn't dissapear if you're not in the root folder of a repository.
- .bashrc:
- The git prompt now doesn't dissapear if you're not in the root folder of a repository.
Pop!_OS Setup 2.2.0
Release 2.2.0
This update comes after a very long time, the main things it brings are:
- Defined behaviour for running the popOS_setup.sh script as root.
- Using
/etc/zsh/zshenv
to configure the $PATH for all users.
Changelog
Added
- popOS_setup.sh:
- The script now stops if you run it as root, you should run it as your user. You can use the
-s
- The script now sorts the package lists and removes duplicates.
- Added a few more options for nvidia drivers.
- The script now stops if you run it as root, you should run it as your user. You can use the
- packages.txt:
- Added Krita drawing software.
- Added Chromium browser.
- Added some fun terminal commands.
- duc_noip_install.sh:
- Now, if you pass the
-s
flag to the script, it will set up a systemd service and a systemd
timer so it runs every time you boot the computer. - If you run the script as root, the "supporting" files such as No-IP's icon and the desktop entry
will be placed in/usr/local
instead of~/.local
. - The script now shows the status of the installation as Success or Failed when it finishes.
- The script now writes an installation log to
/usr/local/src
to help system admins delete the
program if they no longer need it.
- Now, if you pass the
- gnome_settings.sh:
- The script now sets up geary in a lot more depth.
- mc_server_builder.sh:
- The
compress.sh
script written by this script now shows a progress percentage while creating
backups of the server.
- The
- remove.txt:
- Added Videos and Archive Manager to the list of possible packages to remove.
Changed
- gnome_appearance.sh:
- The file now has support for compressed archives that are not gzip format.
- The file now extracts the themes and icons into
~/.local/share
.
- tlp.sh:
- The script now offers many more configuration choices for handling the lid switch.
- The script now restarts the systemd-logind service after writing to the config file.
- zsh.sh:
- The script now writes to
/etc/zsh/zshenv
code to add~/.local/bin
to the $PATH for all
users.
- The script now writes to
- .zshrc:
- The file no longer modifies the $PATH. As that is now handled by
/etc/zsh/zshenv
.
- The file no longer modifies the $PATH. As that is now handled by
- .bashrc:
- Some of the improvements for the Z-Shell were added to this file.
Fixed
- post-install.d:
- It now shows the separator to avoid cluttering in the terminal.
- .zshrc:
- The file no longer causes the shell to open with error code 1.
- .vimrc:
- Fixed mode() related eror when interactively replacing text.
- init.vim:
- Fixed mode() related eror when interactively replacing text.
Removed
- .zshrc:
- The file no longer reads
~/.zsh_aliases
.
- The file no longer reads
Pop!_OS Setup 2.1.0
Release 2.1.0
This update had many more commits than usual, though there aren't that many new things. The main improvements are:
- Heavily improved the configuration of Vim and added Neovim with a similar configuration.
- Added flags to the back_me_up.sh script.
- Reworked the mc_server_builder.sh script to make it more stable.
Changelog
Added
- back_me_up.sh:
- Added
-r
flag, which tells the script to replace the latest backup. - Added
-s
flag, which tells the script to backup the~/.ssh
and~/.safe
directories.
- Added
- golang.sh:
- Added the choice to install development tools for Visual Studio Code.
- packages.txt:
- Added Neovim package.
- .zshrc:
- Added
lz
andllz
aliases to easily see SELinux tags when listing files.
- Added
- nvim.vim:
- Added a config file for neovim with many of the features of the current .vimrc.
- neovim.sh:
- Can set up Neovim as the default
$EDITOR
. - Can write a special function to the config file to check which editor you're running when you also install Vim.
- Can set up Neovim as the default
- .vimrc:
- A dynamic statusline for non-powerline vim editors. It changes based on wether the user is in an active or inactive split.
- Set a scroll offset of 5 lines to keep your sight further from the edge of the screen.
- Integrate with the system clipboard.
- vim.sh:
- Can write a special function to the config file to check which editor you're running when you also install Neovim.
- git.sh:
- Integrate Vim and Neovim more deeply with Git.
- New aliases
eflog
andnow-ignores
. They show commit log with commiter emails and tracked files that should be ignored by git, respectively.
Changed
- deskcuts:
- Many files inside the folder were updated to use paths such as
~/.local/share/icons/hicolor
and/usr/local
.
- Many files inside the folder were updated to use paths such as
- mc_server_builder.sh:
- The script was heavily modified to make it more stable.
- It no longer sets up the firewall by default.
- Option
-mc
is now-v
(for visible). - You now use the
-f
flag to tell the script to configure the firewall. - It no longer needs user assistance to delete firewall rules.
- The download link is now at the top of the script for it to be easy to update.
- There's a list of possible exit codes and their meanings.
- .zshrc:
- Use
awk
commands instead of combininggrep
,rev
andcut
for the git prompt. (Less subprocesses)
- Use
- .vimrc:
- Put backup, undo, and swap files in
~/.cache/vim
, and set their permissions so other users cannot read them. - Set textwidth for plain text and markdown to 100 characters.
- Reconfigured some of the coloring to be more consistent on terminal and gui.
- Put backup, undo, and swap files in
- vim.sh:
- Reworded some prompts to avoid confusion with neovim.
Fixed
- vim.sh:
- Fixed typo in .csh config file.
- mc_server_builder.sh:
- The animation does no longer lingers in your shell if you interrupt the script (^C).
Pop!_OS Setup 2.0.0
Release 2.0.0
This version, while it doesn't bring much new. Reworked an important step of the main script, installing apt repositories, to be much more expandable than before, without requiring editing the main script to modify the step. However, some small features were added, such as:
- New packages in the installation list.
- Line highlighting in Vim
- A post-install script to set up the GNOME Sdk
Changelog
Added
- sources.d:
- This folder will contain sources to be added before installing packages.
- packages.txt:
- Added Kitty Terminal, and Visual Studio Code Insiders packages.
- gnome-builder.sh:
- Added the file, it gives the user a choice to install the GNOME SDK before they start using GNOME Builder.
- flatpaks.txt:
- Added Bitwarden flatpak to the list.
- .zshrc:
- Added support for Kitty terminal.
- .vimrc:
- Added line highlighting.
Changed
- popOS_setup.sh:
- Changed methodology for adding repositories. Now the sources.d folder contains the sources in files named according to the package that needs the source.
- .zshrc:
- The vscode prompt can now be chosen by assigning the value
vscode
to theprompt_style
variable. - Made vscode prompt trigger when
$VSCODE_GIT_IPC_HANDLE
is set, instead of"$VSCODE_TERM" == "yes"
. This means the user won't have to manually set the variable from the vscode settings. - Now edits the
$PATH
more carefully.
- The vscode prompt can now be chosen by assigning the value
Fixed
Pop!_OS Setup 1.2.0
Release 1.2.0
This version contains a few improvements, a rewritten script, and fixes. The most significant additions were:
- Added VS Codium package.
- Added Golang with a post-install script that sets
$GOPATH
to~/.local/golang
. - Improved and faster git info prompt
- Rewrote the duc_noip_install.sh script.
Changelog
Added
- packages.txt:
- popOS_setup.sh:
- Added VS Codium source.
- .zshrc:
- Added info about staged and untracked files to the git prompt.
- Aliases and configs are now sourced from files under the
~/.zshrc.d
folder, as well as from a~/.zsh_aliases
file.
- .bashrc:
- Brought some of the powerful git prompt to this file.
- back_me_up.sh:
- The script now also looks for
~/.zshrc.d
,~/.bashrc.d
, and~/.bash_aliases
.
- The script now also looks for
Changed
- duc_noip_install.sh:
- Rewrote the script to be much more reliable and simple to edit.
- popOS_setup.sh:
- The extra scripts are now loaded and executed through loops, this is much more expandable (and reliable) than loading them individually.
- vim.sh:
- Switched from user installation of powerline-status to sytem installation.
- zsh.sh:
- Switched from user installation of powerline-shell to sytem installation.
- .zshrc:
- Improved performance of the git info in the prompt.
Fixed
- vim.sh:
- Fixed excessive arguments.
- zsh.sh:
- Fixed missing space when prompting the user.
- git.sh:
- Fixed faulty config for the vim editor.
Deprecated
- .zshrc:
- This file will continue sourcing the
~/.zsh_aliases
file, but it will be fully replaced by~/.zshrc.d
in an upcoming release. Because of this, the~/.zsh_aliases
file will no longer be automatically created.
- This file will continue sourcing the
Pop!_OS Setup 1.1.0
Release 1.1.0
This update is mostly a cumulative release of minor additions. The biggest introductions are the choice to use the powerline plugin in Vim, better prompts for the Z-Shell, and a few changes and fixes.
Changelog
Added
- .vimrc:
- Added variable fg color for the vim statusline: red if you're root, white if you're not.
- vim.sh:
- Added the posibility to set vim as the default
$EDITOR
. - Added the posibility of installing the powerline-status plugin for the editor.
- Added the posibility to set vim as the default
- .zshrc:
- Added gear (
⚙
) for fedora and ubuntu sytle prompts to show there are background jobs running. - Ubuntu style prompt (default) now has path shortening when deep in a directory structure.
- Added gear (
- git.sh:
- Added
now-ignored
alias to find files that should be untracked after updating a.gitignore
.
- Added
Changed
- .zshrc:
- Kali style prompt now has softer edges:
╭──
instead of┌──
.
- Kali style prompt now has softer edges:
- zsh.sh:
- The script will no longer attempt to install powerline automatically, instead, it will ask the user if they want to install it.
- git.sh:
- Changed
flog
andsflog
aliases. You can specify a path to theunstage
alias now.
- Changed
Fixed
- .vimrc:
- Fixed the statusline showing current line instead of total lines after the
/
.
- Fixed the statusline showing current line instead of total lines after the
- back_me_up.sh:
- Fixed trying to keep less than 1 backup.
Pop!_OS Setup 1.0.0
Release 1.0.0
Some time before this release, the Fedora Setup project started by reworking this project to work in Fedora. There were a lot of innovations. This release focuses on porting them back. Some of the most notable innovations have been:
- The creation of the packages.txt file.
- The creation of the post-install.d folder, which stores .sh files that are sourced by the main script.
- And many improvements to the codebase that make expanding and modifying functionality easier.
Changelog
Added
- popOS_setup.sh
- The script now gives a welcome message when started.
- packages.txt:
- This file contains the list of packages and dependencies that the popOS_setup.sh script installs. By putting this list in a file, adding and removing packages becomes very easy.
- post-install.d:
- This new folder contains shell scripts that should be sourced from popOS_setup.sh, they contain the post-installation instructions previously found in the main script.
- scripts:
- The scritps folder contains a few scripts that can be run without being sourced by popOS_setup.sh. These scripts were previously in the root of the repository.
- update_recovery.sh:
- The functionality to update the recovery partition was moved from the main script to this external script.
- .zshrc:
- Introduced "prompt styles", so the user can choose a prompt style from the templates when the main script is sourcing the zsh.sh script.
- Now the paths
~/.local/bin
and~/bin
are added to the $PATH environment variable. - A few other small changes.
- .vimrc:
- The file now creates a
~/.vimdata
folder to store all the temporary files used by vim. - The file lightly customizes some of the coloring and style of the vim editor.
- The file now creates a
Changed
- popOS_setup.sh:
- The main script (pop_OS_start.sh) was renamed to be like the name of the project.
- There were innumerable changes to how the script works, but the user experience remains very familiar.
- duc_noip_install.sh:
- The script now writes its files in
~/.local/bin
and~/.local/share/applications
.
- The script now writes its files in
Removed
- popOS_setup.sh:
- The script no longer restarts the computer, making the code simpler.
- The script no longer copies the deskcuts.
- The script no longer supports installing downloaded packages in the
~/Downloads
folder.
- deskcuts:
- Removed a few redundant deskcuts.
- mc_server_builder.sh:
- The script no longer executes the command
sudo update-desktop-database
.
- The script no longer executes the command
- vscode.sh:
- The script was removed as it is no longer necessary.
- Fonts folder:
- The fonts folder was removed.
Pop!_OS Setup 0.2.2
Release 0.2.2
Added
- .zshrc
new
function to create a directory and cd into it.
- vscode.sh
- Added git alias
sflog
to show output likeflog
and check gpg signatures for each commit.
- Added git alias
Changed
- .zshrc
- Improved gpg filter from history.
- Improved comment with instructions to use powerline prompt.
- gnome_appearance.sh
- Changed terminal transparency to be less transparent as it makes it difficult to read.
Fixed
- gnome_appearance.sh
- Fixed uncommented comment.