{"id":21039340,"url":"https://github.com/clsty/ulerm","last_synced_at":"2025-05-15T16:32:30.829Z","repository":{"id":175724180,"uuid":"654376422","full_name":"clsty/ulerm","owner":"clsty","description":"Unified Linux Environment Repository Manager","archived":true,"fork":false,"pushed_at":"2023-07-01T12:32:53.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T21:18:02.846Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clsty.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-06-16T02:07:17.000Z","updated_at":"2024-02-14T07:26:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"a273eb01-bbf2-4789-84f2-40c86885e8c4","html_url":"https://github.com/clsty/ulerm","commit_stats":null,"previous_names":["clsty/ulerm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fulerm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fulerm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fulerm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clsty%2Fulerm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clsty","download_url":"https://codeload.github.com/clsty/ulerm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254377279,"owners_count":22061110,"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":[],"created_at":"2024-11-19T13:39:05.343Z","updated_at":"2025-05-15T16:32:30.815Z","avatar_url":"https://github.com/clsty.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"* ulerm: Unified Linux Environment Repo Manager (WIP)\n\nA Generic Environment Setup Tool for Linux.\n\n[[README.zh_CN.org][简体中文]]\n\n** Brief Introduction\nIf you just installed Linux, and need a working environment which is not provided by default (e.g. [[https://github.com/clsty/generic-archsway][generic-archsway]]), this project is designed just for you!\n\nThe project is designed as a submodule for any Insdot-Compatible Configuration Repository (below we'll take \"ICCR\" in short). It is recommended to choose one ICCR to make your working environment quickly usable, and based on the ICCR to do more configuration, to build your own working environment.\n\n** Feature\n- Any ICCR is supported!\n  - Currently only [[https://github.com/clsty/generic-archsway][generic-archsway]], but the designation of this project makes it easy to add more!\n- Multi distro support!\n  - Currently only Arch Linux, but the designation of this project makes it easy to add more!\n- Multi language environment available to choose from!\n  - Not only about locale (env vars), but also fonts, input methods, input method helper, installation guidance, etc.\n  - Currently only Simplified Chinese and English, but the designation of this project makes it easy to add more!\n- Easy to get started!\n  - The requirement for installation is minimal.\n  - The installation script is idempotent.\n  - (WIP) The guidance is very specific.\n- Suitable for long-term usage!\n  - The project make use of git and [[https://github.com/anishathalye/dotbot][dotbot]] , is able to manage any configurations including your own, E.g. =~/.emacs.d= for Emacs.\n  - This makes long-term maintenance, backup and restoring and quick deployment etc much easier.\n#+begin_quote\nDisplay Manager (Login Manager) is not included mostly because that you'd better not use a DM unless you know the basic knowledge about how it works.\n#+end_quote\n\n\n** Quick start\n*** Installation\nFirstly make sure you have installed Arch Linux and created a non-root user with sudo privilege, then login as this user and run command:\n(cr means \"configuration repository\")\n#+begin_src bash\nsudo pacman -Sy --needed git\ngit clone https://github.com/clsty/generic-archsway ~/cr\n~/cr/insdot\n#+end_src\nAnd you're done (reboot may be required).\n\n#+begin_quote\nNote: The behavior of this script is that, during the installation for the first time, it will ask you what locale to choose and whether to confirm to overwrite files. It won't ask again each time after the first time, unless you delete =.coreset= .\n#+end_quote\n\n*** Get started\nLogin to tty1 (or login to another tty and mannually run command =~/.local/bin/wrp-sway= ), to launch graphical environment.\nPress =Super+Return= (i.e. \"windows key\" and \"Enter\" key) to launch a terminal.\nPress =Super+d= to launch other applications.\n- Note that Left Ctrl key and Caps Lock key has swapped (configure this in =~/.config/sway/config.d/config.conf= ).\n- Now, if you don't know the basic usage of vim, please run =sudo pacman -S --needed vim;vimtutor= to learn (at least complete lesson 1).\n\nAfter that, run =vifm ~/.config/sway/config.d= to look up and custom the configs of sway, especially =config-keybind.conf= .\n\n*** Long-term Usage\nIt's highly recommended that once you do more configurations (no matter about sway or not), save them in =~/cr= and manage it there.\n\n#+begin_quote\nFor example, if you edited or created some configuration files under the directory =~/.config/something= , then:\n- Copy this directory to some suitable place under =~/cr= , e.g. =~/cr/something= .\n- Edit =~/cr/insdot.conf.yaml= and add one corresponding line in the =- link:= part:\n#+begin_src yaml\n- link:\n    ...\n    ...\n    ~/.config/something: something\n    ...\n    ...\n#+end_src\nApparently, the left part is the original path, and the right part is the relative path under =~/cr= .\n\nAll the same for single files, say if you edited or created a configuration file =~/.local/share/abc/foo/settings.conf= , then:\n- Copy this file to some suitable place under =~/cr= , e.g. =~/cr/foo/settings.conf= .\n- Edit =~/cr/insdot.conf.yaml= and add one corresponding line in the =- link:= part:\n#+begin_src yaml\n- link:\n    ...\n    ...\n    ~/.local/share/abc/foo/settings.conf: foo/settings.conf\n    ...\n    ...\n#+end_src\n\nAfter that, run =~/cr/insdot= ,\nwhich will remove the files/directories at the original path\nand make symlinks at those places\nfrom the files/directories under =~/cr= ,\naccording to the =- links:= part in =~/cr/insdot.conf.yaml= .\n#+end_quote\n\nNote that =~/cr= is actually a git repository with some submodules in it, so you can use git to manage it, such as archiving for backup, uploading to GitHub for sharing, transfering to another Arch Linux for quick setup, reverting to history versions, etc.\n\nFor futher customization, you may learn from wikis, guides and mannuals, etc for anything relate to this project, especially:\n- [[https://wiki.archlinux.org/title/Sway][Sway - ArchWiki]]\n- [[https://github.com/swaywm/sway/wiki][Sway User wiki]]\n- [[https://missing.csail.mit.edu/2020/version-control][Git - The missing semester]]\n- [[https://github.com/anishathalye/dotbot][dotbot]]\n\n** Tips and Tricks\nSee [[TipsAndTricks.org][Tips and Tricks]].\n\n** Contributing\nIt's welcomed to contribute to this project.\nYou can make [[https://github.com/clsty/generic-archsway/pulls][Pull Requests]], [[https://github.com/clsty/generic-archsway/issues][issues]] and more.\n\nCurrently help needed:\n- Localization (add more locale, improve existing locale).\n- Feedback and advice.\n- Other improvements and enhancement.\n\n** Credits\nMany thanks to all of the FOSS projects related to this project.\n- This project is originally based on [[https://github.com/Jguer/dotfiles][Jguer/dotfiles]].\n- Fontconfig originally based on [[https://github.com/rydesun/dotfiles][rydesun/dotfiles]]\n\nMany thanks to all of the contributors.\n\n** License\nThis project is released under GNU GPL v3.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclsty%2Fulerm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclsty%2Fulerm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclsty%2Fulerm/lists"}