Giter VIP home page Giter VIP logo

fedora_setup's Introduction

Fedora Setup

Introduction

This repo is a guide to how I setup my desktop machine using Fedora as my distro of choice. I use Fedora mostly for hardware and software development. This is the perfect guide if you're migrating to Linux for the first time and don't know where to start.

1. First things to do post installation

1.1 Setup dnf configuration

  • Reference
  • Open the file: sudo vi /etc/dnf/dnf.conf
  • add the following lines:
    # added for speed
    fastestmirror=True
    max_parallel_downloads=5
    defaultyes=True
    keepcache=False
  • Update the system: sudo dnf update
  • Run the script post_installation.sh. This will do the following:
    • enable rpm fusion
    • enable flathub
    • install media codecs
    • install preload
    • enable 3rd party reporsitories

1.2 Copy .bashrc and .bash_aliases in $HOME

```bash
cp -rv ./shell_configs/.bash_aliases ./shell_configs/.bashrc ~
```

2. Setup the Terminal

2.1 Install git

  • Install git: sudo dnf install -y git
  • Clone this dotfiles repo.
    git clone https://github.com/usman1515/dotfiles.git
  • Copy the git config from the dotfiles repo into the $HOME dir.

2.2 Install Alacritty

  • Install Nerd Fonts
    source install_nerd_fonts.sh
  • Install alacritty
    sudo dnf install -y alacritty
  • Copy the alacritty config folder from the dotfiles repo into .config folder.
  • Clone alacritty themes repo:
    git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
  • Set terminal shortcut key
    • Settings -> Keyboard -> View and customize shortcuts -> Custom shortcuts:
      • Name: Open terminal
      • Command: /usr/bin/alacritty/
      • Shortcut: Super + Enter

2.3 Install Kitty

  • Install kitty
    sudo dnf install -y kitty
  • Copy the kitty config folder from the dotfiles repo into .config folder.

2.4 Customize BASH

  • Install oh my posh for BASH shell.
    source install_oh_my_posh.sh

2.5 Install and customize ZSH

  • Install oh my zsh for ZSH shell.
    source install_oh_my_zsh.sh
    # copy these config  file sin $HOME dir
    cp -rv ./shell_configs/.p10k.zsh ./shell_configs/.zsh_aliases ./shell_configs/.zshrc ~
  • Reboot PC.

3. Setup SSH

  • Run the script setup_ssh.sh to generate SSH key.
    source ./setup_ssh.sh

4. Install Compilers

5. Install CLI based tools and applications

  • To install all the CLI and TUI based applications run the following command.
    source install_cli_packages.sh

6. Install GUI based applications

  • To install all the GUI and RPM based applications run the following command.
    source install_gui_packages.sh

7. Install Gtklp for remote printers

  • TO setup remote printers on your network that use GNU GTKLP GUI run the following script.
    source install_printers.sh

8. Install FOSS toolchains for Hardware development

OPTIONAL: These are some of the tools that I use for hardware development.

  • GHDL for VHDL simulation.

  • iVerilog for Verilog simulation.

  • Yosys for Verilog synthesis.

  • Verilator for converting Verilog and SystemVerilog designs into a C++ or SystemC model.

  • Chisel for designing and testing RTL using Chisel/Scala.

  • FloPoCo for generating Floating Point Cores.

    source install_ghdl.sh
    source install_iverilog.sh
    source install_yosys.sh
    source install_verilator.sh
    source install_chisel.sh
    source install_docker_flopoco.sh

9. Customizations

  • Goto settings and do the following:
    • Bluetooth
      • Turn off
    • Appearance:
      • Dark
    • Multitasking:
      • Hot corners: off
      • Fixed number of workspaces: 6
      • Workspaces on all displays: on
      • Include apps from current workspace only: on
    • Power:
      • Automatic screen brightness: off
      • Show battery percentage: on
    • Display
      • Night light: on
      • timings: 00:00 - 06:00
    • Mouse and touchpad:
      • Touchpad:
        • Tap to click: on
        • Scroll method: 2 finger
        • Scroll direction: natural
    • Region and Language:
      • Formats: English (United Kingdom)
    • Accessibility:
      • Pointing and clicking:
        • Locate pointer: on

10. Optional: Upgrade Fedora

  • To upgrade fedora run the following script
    source upgrade_fedora.sh

fedora_setup's People

Contributors

usman1515 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.