Compare commits
2 Commits
a6cb4a5cf6
...
542a627e23
Author | SHA1 | Date | |
---|---|---|---|
542a627e23 | |||
1ff146e3c0 |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
@ -2,7 +2,7 @@
|
||||
|
||||
My NixOS configurations with dotfiles for my desktop
|
||||
|
||||

|
||||

|
||||
|
||||
## Uses
|
||||
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 808 KiB After Width: | Height: | Size: 808 KiB |
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 282 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
@ -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));
|
||||
}
|
||||
|
@ -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
@ -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": {
|
||||
|
15
flake.nix
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
let
|
||||
theme = import ../theme.nix;
|
||||
in
|
||||
{ theme, ... }:
|
||||
|
||||
{
|
||||
catppuccin.btop = {
|
||||
enable = true;
|
||||
|
@ -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"
|
||||
|
@ -1,6 +1,5 @@
|
||||
let
|
||||
theme = import ../theme.nix;
|
||||
in
|
||||
{ theme, ... }:
|
||||
|
||||
{
|
||||
catppuccin.cursors = {
|
||||
enable = true;
|
||||
|
@ -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;
|
||||
|
@ -17,6 +17,7 @@
|
||||
amend = "commit --amend";
|
||||
cm = "commit";
|
||||
s = "status";
|
||||
p = "push";
|
||||
};
|
||||
|
||||
signing = {
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
programs = {
|
||||
fish.shellAliases.fetch = "fastfetch";
|
||||
|
||||
fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -1,6 +1,5 @@
|
||||
let
|
||||
common = import ../../common.nix;
|
||||
in
|
||||
{ common, ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
|
@ -1,7 +1,10 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
lib,
|
||||
common,
|
||||
theme,
|
||||
...
|
||||
}:
|
||||
let
|
||||
common = import ../../common.nix;
|
||||
theme = import ../../theme.nix;
|
||||
app = common.default;
|
||||
in
|
||||
{
|
||||
|
@ -1,7 +1,5 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
theme = import ../../../theme.nix;
|
||||
in
|
||||
{ lib, theme, ... }:
|
||||
|
||||
{
|
||||
services.swaync = {
|
||||
enable = false;
|
||||
|
@ -1,7 +1,5 @@
|
||||
let
|
||||
common = import ../common.nix;
|
||||
theme = import ../theme.nix;
|
||||
in
|
||||
{ common, theme, ... }:
|
||||
|
||||
{
|
||||
catppuccin.kitty = {
|
||||
enable = true;
|
||||
|
@ -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";
|
||||
|
@ -1,6 +0,0 @@
|
||||
lib:
|
||||
|
||||
{
|
||||
loadSecret =
|
||||
filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath));
|
||||
}
|
@ -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;
|
||||
|
@ -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 = {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
imports = [
|
||||
./development.nix
|
||||
./development
|
||||
./fonts.nix
|
||||
./gaming
|
||||
./gnome
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
24
modules/development/default.nix
Normal 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
|
||||
];
|
||||
}
|
10
modules/development/docker.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
storageDriver = "btrfs";
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
}
|
9
modules/development/dotnet.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.rider
|
||||
dotnet-sdk_9
|
||||
dotnet-aspnetcore_9
|
||||
];
|
||||
}
|
11
modules/development/nix.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Language servers
|
||||
nixd
|
||||
nil
|
||||
# Formatters
|
||||
nixfmt-rfc-style
|
||||
];
|
||||
}
|
10
modules/development/node.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.webstorm
|
||||
nodejs_22
|
||||
pnpm
|
||||
nodePackages.prettier
|
||||
];
|
||||
}
|
6
modules/development/ollama.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
acceleration = "cuda";
|
||||
};
|
||||
}
|
9
modules/development/rust.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.rust-rover
|
||||
rustup
|
||||
gcc
|
||||
];
|
||||
}
|
@ -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
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
common = import ../../common.nix;
|
||||
in
|
||||
{ pkgs, common, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nautilus
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,5 @@
|
||||
let
|
||||
common = import ../common.nix;
|
||||
in
|
||||
{ common, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
|
@ -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;
|
||||
})
|
||||
];
|
||||
|
@ -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";
|
||||
|