Compare commits

...

2 Commits

48 changed files with 247 additions and 356 deletions

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -2,7 +2,7 @@
My NixOS configurations with dotfiles for my desktop
![Screenshot of desktop](./assets/desktop.png)
![Screenshot of desktop](./.gitea/assets/desktop.png)
## Uses

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 808 KiB

After

Width:  |  Height:  |  Size: 808 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 282 KiB

View File

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -33,4 +33,9 @@ rec {
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.version = "24.11";
secret.weatherApiKey = lib: loadSecret lib ./home-manager/secrets/weather-api-key;
loadSecret =
lib: filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath));
}

View File

@ -49,7 +49,7 @@ in
nix-prefetch-github # Cmd to get rev and hash from GitHub
gimp
vlc
vdhcoapp
vdhcoapp # TODO run "vdhcoapp install" on startup
onlyoffice-desktopeditors
];

234
flake.lock generated
View File

@ -49,11 +49,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1739283129,
"narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=",
"lastModified": 1741424456,
"narHash": "sha256-46m7KqjSoabM5JdqP8Om9+PWioRy0uU746MZuLyw/6o=",
"owner": "catppuccin",
"repo": "nix",
"rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658",
"rev": "dc7e553e91c37cec5083ac5cfaff6a28565d1334",
"type": "github"
},
"original": {
@ -62,41 +62,6 @@
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -136,54 +101,6 @@
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -191,11 +108,11 @@
]
},
"locked": {
"lastModified": 1739570999,
"narHash": "sha256-eCc0/Q4bPpe4/AS+uzIrHLJcR6BxPQ69q2kD0/Qe6rU=",
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "254d47082e23dbf72fdeca1da6fe1da420f478d8",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"type": "github"
},
"original": {
@ -205,40 +122,17 @@
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1738878603,
"narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "433799271274c9f2ab520a49527ebfe2992dcfbd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprpanel": {
"inputs": {
"ags": "ags",
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1739606511,
"narHash": "sha256-ywkv5Pm6p4Taavp3yX9SjoLVf/mIHS3fRXSHjXqaJHQ=",
"lastModified": 1740863579,
"narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=",
"owner": "Jas-SinghFSU",
"repo": "HyprPanel",
"rev": "c309a73d2d9821c90864447058b627c02bd82165",
"rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd",
"type": "github"
},
"original": {
@ -275,34 +169,13 @@
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1738743987,
"narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "ae406c04577ff9a64087018c79b4fdc02468c87c",
"type": "github"
},
"original": {
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1736012469,
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
"lastModified": 1741246872,
"narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
"rev": "10069ef4cf863633f57238f179a0297de84bd8d3",
"type": "github"
},
"original": {
@ -314,11 +187,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1740560979,
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
"lastModified": 1741379970,
"narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
"rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f",
"type": "github"
},
"original": {
@ -330,11 +203,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1739357830,
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1741332913,
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
"type": "github"
},
"original": {
@ -344,7 +233,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
@ -362,24 +251,18 @@
},
"nixvim": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"nixpkgs-unstable"
],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
"lastModified": 1739527837,
"narHash": "sha256-dsb5iSthp5zCWhdV0aXPunFSCkS0pCvRXMMgTEFjzew=",
"lastModified": 1741098523,
"narHash": "sha256-gXDSXDr6tAb+JgxGMvcEjKC9YO8tVOd8hMMZHJLyQ6Q=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "a39e0a651657046f3b936d842147fa51523b6818",
"rev": "03065fd4708bfdf47dd541d655392a60daa25ded",
"type": "github"
},
"original": {
@ -416,7 +299,7 @@
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"hyprpanel": "hyprpanel",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"spicetify-nix": "spicetify-nix",
@ -431,11 +314,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1739223162,
"narHash": "sha256-YrbYTM0CkZQG38Ysr2gF4BYdsQDNQtQ4YdQTDgw/zWM=",
"lastModified": 1741493656,
"narHash": "sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "dea717737d04a2a3e877c082bfd2c7f91c1a33ff",
"rev": "a06e502c884307c33dbdf2017fd50ab3592ad868",
"type": "github"
},
"original": {
@ -474,37 +357,16 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1738680491,
"narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "64dbb922d51a42c0ced6a7668ca008dded61c483",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1740554227,
"narHash": "sha256-xpwZeMw2gGenixGQDyVv+ja+epcR+EJ1BPuGFdgFS18=",
"lastModified": 1741450391,
"narHash": "sha256-zEFEI2RWmxYS5EZTlA8VnX5X7AueDKpXF2IjJx+dyKE=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "7de16ae319e6f6852274fa90b0d41c00049767c9",
"rev": "6dceddfe8e1691607eaa8d9f12f33ab6a5acea82",
"type": "github"
},
"original": {

View File

@ -14,7 +14,6 @@
};
hyprpanel = {
url = "github:Jas-SinghFSU/HyprPanel";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
@ -40,6 +39,7 @@
pkgs = nixpkgs.legacyPackages.${system};
inherit (self) outputs;
common = import ./common.nix;
theme = import ./theme.nix;
in
{
defaultPackage.${system} = home-manager.defaultPackage.${system};
@ -48,6 +48,8 @@
devShells.${system}.default = pkgs.mkShell {
packages = with pkgs; [
just
git
git-crypt
nh
];
};
@ -57,7 +59,14 @@
nixosConfigurations.${common.hostname} = nixpkgs.lib.nixosSystem {
system = system;
specialArgs = { inherit outputs inputs; }; # Pass args to modules
specialArgs = {
inherit
outputs
inputs
common
theme
;
}; # Pass args to modules
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
@ -68,7 +77,7 @@
useGlobalPkgs = true;
useUserPackages = true;
# Passes inputs as an argument to home-manager
extraSpecialArgs = { inherit inputs; };
extraSpecialArgs = { inherit inputs common theme; };
users.${common.username} = import ./home-manager;
};
}

View File

@ -1,6 +1,5 @@
let
theme = import ../theme.nix;
in
{ theme, ... }:
{
catppuccin.btop = {
enable = true;

View File

@ -1,9 +1,6 @@
## Audio visualizer
{ pkgs, ... }:
{ pkgs, theme, ... }:
let
theme = import ../../theme.nix;
in
{
catppuccin.cava = {
enable = true;
@ -20,7 +17,7 @@ in
genericName = "Audio visualizer";
terminal = true;
exec = "${pkgs.cava}/bin/cava";
icon = ./cava.png;
icon = ./cava.png; # TODO icon not displaying in runner
categories = [
"Audio"
"AudioVideo"

View File

@ -1,6 +1,5 @@
let
theme = import ../theme.nix;
in
{ theme, ... }:
{
catppuccin.cursors = {
enable = true;

View File

@ -1,10 +1,10 @@
{
pkgs,
inputs,
common,
...
}:
let
common = import ../common.nix;
username = common.username;
dir = common.dir;
in
@ -26,18 +26,12 @@ in
./rofi
./wlogout
./hyprland
./spicetify.nix # TODO env conflict on latest version
./spicetify.nix
./yazi
./zen
];
dconf = {
enable = true;
settings = {
# Prefer dark mode for all GTK apps
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
};
dconf.enable = true;
home = {
username = username;

View File

@ -17,6 +17,7 @@
amend = "commit --amend";
cm = "commit";
s = "status";
p = "push";
};
signing = {

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, theme, ... }:
{
programs.zed-editor = {
@ -15,7 +15,6 @@
];
userSettings =
let
theme = import ../../theme.nix;
font = "${theme.nerdFont} Nerd Font";
fontSize = 14;
in
@ -31,7 +30,7 @@
base_keymap = "JetBrains";
buffer_font_family = font;
features = {
inline_completion_provider = "zed";
edit_completion_provider = "zed";
};
icon_theme = "Catppuccin Mocha";
# icon_theme = { TODO replace icon theme above with below

View File

@ -1,6 +1,7 @@
{
programs = {
fish.shellAliases.fetch = "fastfetch";
fastfetch = {
enable = true;
settings = {

View File

@ -1,7 +1,5 @@
{ pkgs, ... }:
let
theme = import ../theme.nix;
in
{ pkgs, theme, ... }:
{
catppuccin = {
fish = {
@ -36,7 +34,7 @@ in
}
];
shellAliases = {
nix-shell = "nix-shell --run fish"; # Start nix-shells using fishcd
nix-shell = "nix-shell --run fish"; # Start nix-shells using fish
};
};

View File

@ -1,11 +1,16 @@
let
theme = import ../theme.nix;
in
{ theme, ... }:
{
gtk.enable = true;
catppuccin.gtk = {
enable = true;
flavor = theme.flavor;
icon.enable = true;
};
dconf.settings = {
# Prefer dark mode for all GTK apps
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
gtk.enable = true;
}

View File

@ -1,9 +1,8 @@
{ common, ... }:
let
common = import ../../common.nix;
app = common.default;
in
{
# TODO binds to move focused window
wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER";
"$shiftMod" = "$mainMod SHIFT";

View File

@ -1,7 +1,5 @@
{ lib, ... }:
let
theme = import ../../../theme.nix;
in
{ theme, ... }:
{
programs.hyprlock = {
enable = true;
@ -10,7 +8,7 @@ in
background = [
{
path = "${../../../wallpapers/catppuccin_page_curl.png}";
path = "${theme.wallpaper.lockscreen}";
}
];
@ -55,7 +53,7 @@ in
# USER AVATAR
image = {
path = "${../../face.png}";
path = builtins.toString theme.avatar.image;
size = 100;
border_color = "${theme.blueRgb}";
position = "0, 75";
@ -70,16 +68,16 @@ in
dots_size = 0.2;
dots_spacing = 0.2;
dots_center = true;
outer_color = lib.mkDefault "${theme.blueRgb}";
inner_color = lib.mkDefault "${theme.surface0Rgb}";
font_color = lib.mkDefault "${theme.textRgb}";
outer_color = "${theme.blueRgb}";
inner_color = "${theme.surface0Rgb}";
font_color = "${theme.textRgb}";
fade_on_empty = false;
placeholder_text = "<span foreground=\"##${theme.textAlpha}\">󰌾 Logged in as <span foreground=\"##${theme.blueAlpha}\">$USER</span></span>";
hide_input = false;
check_color = lib.mkDefault "${theme.blueRgb}";
fail_color = lib.mkDefault "${theme.redRgb}";
check_color = "${theme.blueRgb}";
fail_color = "${theme.redRgb}";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
capslock_color = lib.mkDefault "${theme.yellowRgb}";
capslock_color = "${theme.yellowRgb}";
position = "0, -47"; # TODO change to use % at 25.05
halign = "center";
valign = "center";

View File

@ -1,14 +1,12 @@
{
pkgs,
inputs,
common,
theme,
lib,
...
}:
let
common = import ../../../common.nix;
theme = import ../../../theme.nix;
loader = import ../../secretsLoader.nix lib;
in
{
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
@ -81,18 +79,18 @@ in
weather = {
unit = "metric";
location = "Bergen, Norway";
key = loader.loadSecret ../../secrets/weather-api-key;
key = common.secret.weatherApiKey lib;
};
};
dashboard = {
directories.enabled = false;
powermenu.avatar.image = "${../../face.png}";
powermenu.avatar.image = "${theme.avatar.image}";
shortcuts.left = {
shortcut1 = {
command = common.default.browser;
icon = ""; # TODO replace with Zen icon
tooltip = "Zen";
tooltip = "Zen Browser";
};
shortcut2 = {
command = "spotify";

View File

@ -1,20 +1,20 @@
# Wallpapers
{ pkgs, ... }:
let
common = import ../../common.nix;
in
{
home.packages = with pkgs; [
hyprpaper
];
pkgs,
common,
theme,
...
}:
{
home.packages = with pkgs; [ hyprpaper ];
services.hyprpaper = {
enable = true;
settings =
let
wallpaperDir = ../../wallpapers;
monitor1 = "${wallpaperDir}/nixos_waves.png";
monitor2 = "${wallpaperDir}/ekg_v2.png";
monitor1 = builtins.toString theme.wallpaper.monitor1;
monitor2 = builtins.toString theme.wallpaper.monitor2;
in
{
ipc = "on";

View File

@ -1,6 +1,5 @@
let
common = import ../../common.nix;
in
{ common, ... }:
{
wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER";

View File

@ -1,7 +1,10 @@
{ lib, ... }:
{
lib,
common,
theme,
...
}:
let
common = import ../../common.nix;
theme = import ../../theme.nix;
app = common.default;
in
{

View File

@ -1,7 +1,5 @@
{ lib, ... }:
let
theme = import ../../../theme.nix;
in
{ lib, theme, ... }:
{
services.swaync = {
enable = false;

View File

@ -1,7 +1,5 @@
let
common = import ../common.nix;
theme = import ../theme.nix;
in
{ common, theme, ... }:
{
catppuccin.kitty = {
enable = true;

View File

@ -1,12 +1,10 @@
{ theme, ... }:
{
catppuccin.mpv =
let
theme = import ../theme.nix;
in
{
enable = true;
flavor = theme.flavor;
};
catppuccin.mpv = {
enable = true;
flavor = theme.flavor;
};
programs = {
fish.shellAliases.mpvl = "mpv --profile=loop";

View File

@ -1,6 +0,0 @@
lib:
{
loadSecret =
filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath));
}

View File

@ -2,6 +2,7 @@
pkgs,
inputs,
lib,
theme,
...
}:
@ -10,7 +11,6 @@
programs.spicetify =
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
theme = import ../theme.nix;
in
{
enable = true;

View File

@ -1,9 +1,9 @@
{ lib, ... }:
{ lib, theme, ... }:
let
theme = import ../../theme.nix;
batTheme = ".config/yazi/catppuccin-${theme.flavor}.tmTheme";
in
{
# TODO use catppuccin theme
home.file.${batTheme}.source = ./catppuccin-mocha.tmTheme;
programs.yazi = {

View File

@ -1,6 +1,6 @@
{
imports = [
./development.nix
./development
./fonts.nix
./gaming
./gnome

View File

@ -1,42 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# IDEs
jetbrains.rust-rover
jetbrains.webstorm
jetbrains.rider
vscodium # TODO set up extensions
# Tools
dotnet-sdk_9
dotnet-aspnetcore_9
git
rustup
nodejs_22
pnpm
just
gcc # Required for C, Rust and others
# Language servers
nixd
nil
# Formatters
nixfmt-rfc-style
treefmt
nodePackages.prettier
shfmt
];
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
rootless = {
enable = true;
setSocketVariable = true;
};
};
services.ollama = {
enable = true;
acceleration = "cuda";
};
}

View File

@ -0,0 +1,24 @@
{ pkgs, ... }:
{
imports = [
./docker.nix
./dotnet.nix
./nix.nix
./node.nix
./ollama.nix
./rust.nix
];
environment.systemPackages = with pkgs; [
# IDEs
vscodium # TODO set up extensions
# Tools
git
just
unstable.libpq # Required for PostgreSQL
# Formatters
treefmt
shfmt
];
}

View File

@ -0,0 +1,10 @@
{
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
rootless = {
enable = true;
setSocketVariable = true;
};
};
}

View File

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
jetbrains.rider
dotnet-sdk_9
dotnet-aspnetcore_9
];
}

View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Language servers
nixd
nil
# Formatters
nixfmt-rfc-style
];
}

View File

@ -0,0 +1,10 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
jetbrains.webstorm
nodejs_22
pnpm
nodePackages.prettier
];
}

View File

@ -0,0 +1,6 @@
{
services.ollama = {
enable = true;
acceleration = "cuda";
};
}

View File

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
jetbrains.rust-rover
rustup
gcc
];
}

View File

@ -1,23 +1,19 @@
{ pkgs, ... }:
{ pkgs, theme, ... }:
{
environment.systemPackages = with pkgs; [
font-awesome # Icons
];
fonts =
let
theme = import ../theme.nix;
in
{
fontconfig.enable = true;
packages = with pkgs; [
(nerdfonts.override { fonts = [ theme.nerdFont ]; })
jetbrains-mono
# The line below will replace the lines above in 25.05
# nerd-fonts.jetbrains-mono
font-awesome
];
};
fonts = {
fontconfig.enable = true;
packages = with pkgs; [
(nerdfonts.override { fonts = [ theme.nerdFont ]; })
jetbrains-mono
# The line below will replace the lines above in 25.05
# nerd-fonts.jetbrains-mono
font-awesome
];
};
}

View File

@ -1,7 +1,5 @@
{ pkgs, ... }:
let
common = import ../../common.nix;
in
{ pkgs, common, ... }:
{
environment.systemPackages = with pkgs; [
nautilus

View File

@ -1,9 +1,8 @@
# TODO move locale config for hyprland here
{ common, ... }:
let
utf-8 = "UTF-8";
en = "en_GB.${utf-8}";
nb = "nb_NO.${utf-8}";
common = import ../common.nix;
in
{
# Configure console keymap

View File

@ -1,6 +1,5 @@
let
common = import ../common.nix;
in
{ common, ... }:
{
networking = {
networkmanager.enable = true;

View File

@ -1,6 +1,5 @@
{ pkgs, ... }:
{ pkgs, theme, ... }:
let
theme = import ../theme.nix;
flavor = theme.flavor;
in
{
@ -9,7 +8,7 @@ in
flavor = flavor;
font = theme.nerdFont;
fontSize = "9";
background = "${../wallpapers/catppuccin_high.png}";
background = builtins.toString ../assets/catppuccin_high.png;
loginBackground = true;
})
];

View File

@ -5,6 +5,15 @@ rec {
nerdFont = "JetBrainsMono";
wallpaper = {
lockscreen = ./assets/catppuccin_page_curl.png;
monitor1 = ./assets/nixos_waves.png;
monitor2 = ./assets/ekg_v2.png;
};
avatar.image = ./assets/face.png;
# Colours
rosewaterAlpha = "f5e0dc";
flamingoAlpha = "f2cdcd";
pinkAlpha = "f5c2e7";