{"id":16543401,"url":"https://github.com/s3rius/linux_setup","last_synced_at":"2026-01-08T02:04:27.789Z","repository":{"id":107290955,"uuid":"579710833","full_name":"s3rius/linux_setup","owner":"s3rius","description":"This repo is used to make initial archlinux setup using ansible.","archived":false,"fork":false,"pushed_at":"2024-03-28T20:27:46.000Z","size":128,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-20T10:58:29.540Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/s3rius.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":"2022-12-18T16:27:26.000Z","updated_at":"2024-10-07T15:06:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"e04bc2aa-e8a4-46f9-857d-a8275dc58ba0","html_url":"https://github.com/s3rius/linux_setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s3rius%2Flinux_setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s3rius%2Flinux_setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s3rius%2Flinux_setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s3rius%2Flinux_setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s3rius","download_url":"https://codeload.github.com/s3rius/linux_setup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246135746,"owners_count":20729056,"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-10-11T19:00:13.030Z","updated_at":"2026-01-08T02:04:27.783Z","avatar_url":"https://github.com/s3rius.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archlinux automated configuration\n\nThis repo helps you to automate archlinux creation proecss.\nThis bin is intended to use with UEFI.\n\n\u003e [!IMPORTANT]  \n\u003e If you want to use it to store your own config files in your repository,\n\u003e you need to fork this one and UPDATE repository in Cargo.toml file.\n\u003e \n\u003e It is used to determine where to push cahnges.\n\nAt first you need to create all partitions.\nI prefer using `cfdisk /dev/{drive}`\n\nThe first partition must be at lest 512Mib and have label as an EFI partition.\nAfter you've created a partition layout, format all drives, mount them, generate fstab and chroot into the root mountpoint. For reference:\n\n```bash\n# Format partitions.\nmkfs.fat -F 32 /dev/sda1\nmkfs.ext4 /dev/sda2\nmkswap /dev/sda3\n\n# Mount all partitions and enable swap.\nmount /dev/sda2 /mnt\nmount --mkdir /dev/sda1 /mnt/boot/EFI\nswapon /dev/sda3\n\n# Create base archlinux layot\npacstrap -K /mnt base linux linux-firmware base-devel\n\n# Generate fstab file.\ngenfstab -U /mnt \u003e /mnt/etc/fstab\n\n# Chroot into fresh system\narch-chroot /mnt\n```\n\nNow we need to install python and other packages. \n\n```bash\n# Install packages\npacman -S rustup git\n# Install stable version of rust.\nrustup install stable\n\n# Clone this repo\ngit clone https://github.com/s3rius/linux_setup.git /tmp/linux_setup\ncd /tmp/linux_setup\n# Please adjust this command with CLI argument. See --help for possible config values.\ncargo run chroot --username s3rius\n```\n\nOnce you run this command, you can safely reboot to your newly created system. On your first boot,\nuse your username and password to log in. On your first login, please run this command to finish setup.\n\n```bash\n# Please check `--help` for arguments.\nlinux-setup user\n```\n\nBy default after everything is set up, you will be able to find this repo at `$HOME/.config/linux_setup`.\nIt will be used to sync files with github.\n\n## Updating files\n\nIn order to keep your dependencies in sync, you can add them in [consts.rs](./src/consts.rs). It's not updated automatically, because you might want to have some dependencies aside from installation script.\n\nIn order to sync dotfiles, you might want to list them in `DOTFILES_MAPPING` in [consts.rs](./src/consts.rs). After that you can sync them with `linux-setup sync`. If you want to commit and push, you can use `linux-setup sync -cp`.\n\nIf you want to exclude something, or process files somehow before pushing, you can do it right in `sync_files` function of [main.rs](./src/main.rs).\n\n## Applying config\n\nIf you want to pull changes, you can run `linux-setup pull`, or if you have already have the latest version installed, you can just run `linux-setup apply`. It will basically do the same thing as pull, but without pulling changes from the repo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs3rius%2Flinux_setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs3rius%2Flinux_setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs3rius%2Flinux_setup/lists"}