Skip to content

Installation ​

Arch ​

Install via the AUR ​

yay -Syu okshell

From source ​

Install Dependencies ​

pacman -Syu \
bluez \
gtk4 \
gtk4-layer-shell \
hyprland \
hyprpicker \
libnotify \
libpipewire \
libpulse \
matugen \
networkmanager \
pam \
pipewire-alsa \
power-profiles-daemon \
upower \
wf-recorder

Install Make Dependencies ​

pacman -Syu \
clang \
rust \

Install Script Dependencies ​

pacman -Syu rsync

Set up the rust ​

rustup stable default

Add ~/.cargo/bin to your PATH ​

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.profile

Clone the repo and install ​

git clone git@github.com:JohnOberhauser/OkShell.git
cd OkShell
./install.sh

Nix ​

OkShell ships a flake with a package, dev shell, and home-manager / NixOS modules.

Try it without installing ​

nix run github:JohnOberhauser/OkShell

Install via flake input ​

Add OkShell to your flake inputs:

nix
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    okshell.url = "github:JohnOberhauser/OkShell";
    okshell.inputs.nixpkgs.follows = "nixpkgs";
  };
}
nix
{ inputs, ... }: {
  imports = [ inputs.okshell.homeManagerModules.default ];

  programs.okshell.enable = true;
}

With NixOS ​

nix
{ inputs, ... }: {
  imports = [ inputs.okshell.nixosModules.default ];

  programs.okshell.enable = true;
}

Or just add it to packages directly ​

nix
environment.systemPackages = [
  inputs.okshell.packages.${pkgs.system}.default
];

From source ​

Make sure flakes are enabled (add experimental-features = nix-command flakes to ~/.config/nix/nix.conf or /etc/nix/nix.conf).

git clone git@github.com:JohnOberhauser/OkShell.git
cd OkShell
nix build
./result/bin/okshell

Hack on it ​

nix develop
cargo build

If you have direnv installed, direnv allow once and the dev shell will load automatically when you cd into the repo.