this post was submitted on 02 Jul 2023
9 points (90.9% liked)

Pop!_OS (Linux)

5186 readers
5 users here now

Pop!_OS is an operating system developed by System76 for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.

Unleash your potential

Whether this is your first experience with Linux, or your latest adventure, all are welcome to discuss and ask questions about Pop!_OS and COSMIC. Keep the discussions friendly though, and remember to assume good intentions whenever you reply. We're all here because we have a shared love for Linux and open source software.

System76 Logo

Support us by buying System76 hardware for you or your company! Or by donating on the Pop!_OS website through the "Support Pop" button. Pop!_OS and COSMIC are fully funded by System76 hardware sales. All systems are assembled in the USA. With your support, we'll work to push the Linux desktop forward with COSMIC.

Links

Guides

Hardware

Recommended

Community Rules

Follow the Code of Conduct

All posts on pop_os must adhere to the Pop!_OS community Code of Conduct. https://github.com/pop-os/code-of-conduct

Be helpful

Posts to pop_os must be helpful. When responding to a user asking for help, do not provide tongue-in-cheek responses like "RTM" or links to LMGTFY. Linking to direct sources that answer the asker's question is fine, but it's advised to provide some explanation as to how you got to that source.

Critique should be constructive

We within the Pop!_OS community welcome helpful criticism or ideas on ways to improve. However, basic "It's bad" or other simple negative comments don't help anyone fix anything. When voicing a complaint about something, try to point out ways the complaint could be improved or worked around, so that we can make a better product for it.

This rule applies to both Pop!_OS and its projects as well as other products available from third-parties.

Don't post malicious "advice"

It can be funny to joke about malicious commands, however this is not the venue for it. Do not advise users to run commands which will lock up their systems, steal their data, or erase their drive. Examples of this include (but are not limited to) fork bombs, rm, etc.

Posts violating this rule will be removed, even if the post is clearly in jest. Repeated offences may lead to a ban. You may understand that the command isn't serious, but a new user might not.

No personal attacks

Posts making a personal attack on any user will not be tolerated.

No hate speech

Hate speech of any kind will not be tolerated. Any violations will be removed, and are grounds for a ban.

founded 2 years ago
MODERATORS
 

Being able to restore a your desktop on a new machine feels great, but it requires a lot of working with backing up different folders, creating symlinks and ansible playbooks. It might be worth considering a pop_os specific backup and restore function if it can greatly simplify this process.

We could start with the basics. It would be great if all settings and configuration was stored in the .config folder. Many users already have this folder stored in git, which makes it readily accessible and easy to backup and it would make it consistent with the .config specification.

To enhance its functionality, we could add a file to the .config folder that records all the installed packages in the system, using a toml file for this purpose. This file would serve as a record of all 'sudo apt install' or 'flatpak install' commands. For example, if Firefox or Alacritty were installed, they would be added to the file. If they were removed, they would be taken out of the list. Any changes made to the packages, such as updates, would not affect this list. If a specific version number is mentioned during the install, it could be recorded; otherwise, the latest version would be assumed.

A command like 'pop_restore packages' could then be used to reinstall all the packages. This list could also be manually updated, although items would not be readded unless they were uninstalled and reinstalled. This process could replicate a significant portion of what Ansible accomplishes, perhaps about 95%.

Another suggestion, although less certain, is to store installed wallpapers and fonts in the .config folder and create symbolic links to the right locations during installation. Given that GitHub allows a few gigabytes, this seems feasible. We could potentially only backup wallpapers that have been in use for the last few weeks for a certain amount of time, thus only backing up the ones used regularly. This way, you're only restoring the wallpapers you really like, and keeping the folder well under a GB.

While this may not be useful for the average user, it could be great for those familiar with the terminal.

Now to make this feature truly amazing. If you leave out images and fonts, we're looking at pretty small file sizes, just a few megabytes at most. This could make it feasible to store it on your own servers. Users would just need to log in (or some other way to authenticate, like 5 random words etc) and click 'restore' in a GUI to get their desktop back. And since its only settings and packages, you dont have to worry about storing sensitive information.

In my opinion, implementing this feature could be a major improvement to Pop_OS, providing a convenient solution for both users comfortable with the terminal and those who prefer a more straightforward approach.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 2 years ago* (last edited 2 years ago)

This sounds a lot like Nix. There you usually have a master config file (nix.conf) that the package manager (nix) reads and if necessary acts upon. That config file can contain a description of any package and any config for that package even something 'trivial' like desktop background pictures.

Nix is so powerful that as long as you have that config file you can reproduce anything that's described in there exactly on any maschine.