Compare commits

...

11 commits

11 changed files with 88 additions and 38 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
result result
**/dist-newstyle **/dist-newstyle
.direnv

View file

@ -10,10 +10,12 @@
../common/optional/key.nix ../common/optional/key.nix
./programs
./services ./services
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
/* Boot configuration */
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ kernelParams = [
@ -24,6 +26,7 @@
initrd.kernelModules = [ "amdgpu" ]; initrd.kernelModules = [ "amdgpu" ];
}; };
/* Hardware configuration */
hardware = { hardware = {
bluetooth = { bluetooth = {
enable = true; enable = true;
@ -46,48 +49,12 @@
}; };
}; };
/* Networking configuration */
networking = { networking = {
hostName = "fuchsia"; hostName = "fuchsia";
networkmanager.enable = true; networkmanager.enable = true;
}; };
programs = {
zsh.enable = true;
direnv.enable = true;
adb.enable = true;
};
services = {
# Enable necessary udev rules.
udev.packages = with pkgs; [
openrgb
qmk-udev-rules
];
# Setup our display server.
xserver = {
enable = true;
xkb.layout = "au";
videoDrivers = [ "amdgpu" ];
displayManager.startx.enable = true;
};
libinput = {
enable = true;
mouse = { accelProfile = "flat"; };
};
# Get up and running with large language models locally.
ollama = {
enable = true;
acceleration = "rocm";
};
# Enable a few other services.
ratbagd.enable = true;
pcscd.enable = true;
};
# Use docker instead of podman for our containers. # Use docker instead of podman for our containers.
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;

View file

@ -0,0 +1,12 @@
{ ... }:
{
programs = {
zsh.enable = true;
# Load and unload environment variables.
direnv.enable = true;
# Android debug bridge: communicate with devices.
adb.enable = true;
};
}

View file

@ -3,5 +3,15 @@
{ {
imports = [ imports = [
./amdgpu-clocks.nix ./amdgpu-clocks.nix
./flatpak.nix
./libinput.nix
./ollama.nix
./udev.nix
./xserver.nix
]; ];
# Enable a few extra services.
services = {
pcscd.enable = true;
};
} }

View file

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
# Required to install flatpak
xdg.portal = {
enable = true;
config.common.default = [ "gtk" ];
extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
};
services.flatpak.enable = true;
}

View file

@ -0,0 +1,11 @@
{ ... }:
{
services.libinput = {
enable = true;
mouse = { accelProfile = "flat"; };
};
# DBus daemon to configure input devices.
services.ratbagd.enable = true;
}

View file

@ -0,0 +1,9 @@
{ ... }:
{
# Get up and running with large language models locally.
services.ollama = {
enable = true;
acceleration = "rocm";
};
}

View file

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
# Enable necessary udev rules.
services.udev.packages = with pkgs; [
openrgb
qmk-udev-rules
];
}

View file

@ -0,0 +1,11 @@
{ ... }:
{
# Setup our display server
services.xserver = {
enable = true;
xkb.layout = "au";
videoDrivers = [ "amdgpu" ];
displayManager.startx.enable = true;
};
}

View file

@ -2,4 +2,11 @@
pkgs.haskellPackages.developPackage { pkgs.haskellPackages.developPackage {
root = ./.; root = ./.;
source-overrides = {
xmonad = (builtins.fetchTarball {
url = "https://github.com/xmonad/xmonad/archive/refs/tags/v0.18.0.tar.gz";
sha256 = "0jlc60n5jarcxgjxm1vcsgc3s2lwmn3c3n56hialhzx54wfskkbc";
});
};
} }

View file

@ -8,11 +8,12 @@ author: sajenim
maintainer: its.jassy@pm.me maintainer: its.jassy@pm.me
build-type: Simple build-type: Simple
executable xmonad-config executable xmonad
main-is: xmonad.hs main-is: xmonad.hs
hs-source-dirs: src hs-source-dirs: src
ghc-options: -Wall ghc-options: -Wall
build-depends: base, build-depends: base,
X11,
xmonad, xmonad,
xmonad-contrib xmonad-contrib
default-language: Haskell2010 default-language: Haskell2010