mirror of
https://github.com/adrlau/nix-dotfiles.git
synced 2026-07-14 18:20:28 +02:00
Compare commits
20 Commits
f87ffb375a
...
sway-fixes
| Author | SHA1 | Date | |
|---|---|---|---|
| b40c6e13ee | |||
| 622a6afcb0 | |||
| 8df49e4231 | |||
| a34f88aa05 | |||
| 2d193c1f98 | |||
| 7ae6520740 | |||
| 8a2ddf5534 | |||
| b0248a8881 | |||
| 2aa4242d34 | |||
| 7112636080 | |||
| 79aa5facad | |||
| 70ca4972bb | |||
| 94a1dc2b54 | |||
| 4e3cbae0d7 | |||
| 2d66279421 | |||
| e5af2ed5d5 | |||
| 0500370bae | |||
| 3b167273ee | |||
| 1c389114a1 | |||
| c038d0baf6 |
Generated
+214
@@ -1,5 +1,119 @@
|
||||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708890466,
|
||||
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "665b3c6748534eb766c777298721cece9453fdae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1622559957,
|
||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696725948,
|
||||
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-foot",
|
||||
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-foot",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696727917,
|
||||
"narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1665001328,
|
||||
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
|
||||
"owner": "kdrag0n",
|
||||
"repo": "base16-kitty",
|
||||
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kdrag0n",
|
||||
"repo": "base16-kitty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696725902,
|
||||
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-tmux",
|
||||
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1663659192,
|
||||
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
|
||||
"owner": "chriskempson",
|
||||
"repo": "base16-vim",
|
||||
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "chriskempson",
|
||||
"repo": "base16-vim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devenv": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
@@ -75,6 +189,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
@@ -111,6 +241,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1689549921,
|
||||
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -134,6 +280,23 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1698794309,
|
||||
"narHash": "sha256-/TIkZ8y5Wv3QHLFp79Poao9fINurKs5pa4z0CRe+F8s=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "a7c169c6c29cf02a4c392fa0acbbc5f5072823e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "45.1",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -234,6 +397,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1725885300,
|
||||
"narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1706098335,
|
||||
@@ -422,10 +601,12 @@
|
||||
"home-manager": "home-manager",
|
||||
"matrix-synapse-next": "matrix-synapse-next",
|
||||
"nix-minecraft": "nix-minecraft",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"ozai": "ozai",
|
||||
"ozai-webui": "ozai-webui",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix",
|
||||
"unstable": "unstable"
|
||||
}
|
||||
},
|
||||
@@ -467,6 +648,39 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-foot": "base16-foot",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-kitty": "base16-kitty",
|
||||
"base16-tmux": "base16-tmux",
|
||||
"base16-vim": "base16-vim",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713897030,
|
||||
"narHash": "sha256-ZPr1R0d9MVmyRX/+XpYsBdLBEBqYMtuyaAjYgWHMloU=",
|
||||
"owner": "bluskript",
|
||||
"repo": "stylix",
|
||||
"rev": "6bc871ab352c9f18d1179daab9e392a4d46393af",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "bluskript",
|
||||
"repo": "stylix",
|
||||
"rev": "6bc871ab352c9f18d1179daab9e392a4d46393af",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
||||
@@ -8,10 +8,11 @@
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
stylix.url = "github:bluskript/stylix/6bc871ab352c9f18d1179daab9e392a4d46393af";
|
||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
stylix.inputs.home-manager.follows = "home-manager";
|
||||
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
# stylix.url = "github:bluskript/stylix/6bc871ab352c9f18d1179daab9e392a4d46393af";
|
||||
# stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# stylix.inputs.home-manager.follows = "home-manager";
|
||||
|
||||
|
||||
ozai.url = "git+https://git.pvv.ntnu.no/Projects/ozai.git";
|
||||
@@ -34,7 +35,7 @@
|
||||
outputs = {
|
||||
self
|
||||
, home-manager
|
||||
, stylix
|
||||
, nix-colors
|
||||
, matrix-synapse-next
|
||||
, ozai
|
||||
, ozai-webui
|
||||
@@ -51,26 +52,6 @@
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
boromir = nixpkgs.lib.nixosSystem {
|
||||
system = "x84_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules = [
|
||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||
./machines/boromir/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
nixos-hardware.nixosModules.lenovo-thinkpad-p1
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users."gunalx" = import ./home/full.nix;
|
||||
}
|
||||
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
eowyn = nixpkgs.lib.nixosSystem {
|
||||
system = "x84_64-linux";
|
||||
@@ -87,9 +68,11 @@
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users."gunalx" = import ./home/full.nix;
|
||||
home-manager.backupFileExtension = "bac";
|
||||
home-manager.extraSpecialArgs = {inherit nix-colors inputs;};
|
||||
}
|
||||
#need to choose one. The nixos one has bootloader and display manager in addition to the home manager one.
|
||||
inputs.stylix.nixosModules.stylix
|
||||
#inputs.stylix.nixosModules.stylix
|
||||
#inputs.stylix.homeManagerModules.stylix
|
||||
];
|
||||
};
|
||||
@@ -134,6 +117,8 @@
|
||||
./machines/elrond/configuration.nix
|
||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||
sops-nix.nixosModules.sops
|
||||
inputs.ozai.nixosModules.ozai
|
||||
inputs.ozai-webui.nixosModules.ozai-webui
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
{ lib, stdenv, pkgs }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wallpapers";
|
||||
version = "1.0";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "file://./";
|
||||
sha256 = lib.fakeSha256;
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/wallpapers
|
||||
cp -r * $out/share/wallpapers/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "My Collection of wallpapers";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ adriangl ];
|
||||
};
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
+9
-7
@@ -1,6 +1,7 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./sshconfig.nix
|
||||
];
|
||||
|
||||
programs.nix-index = {
|
||||
@@ -15,23 +16,30 @@
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
"rebuild" = "sudo nixos-rebuild switch --update-input nixpkgs --update-input unstable --no-write-lock-file --refresh --flake git+https://github.com/adrlau/nix-dotfiles.git --upgrade";
|
||||
"nixedit" = "vim /etc/nixos/nix-dotfiles/.";
|
||||
"nixdir" = "cd /etc/nixos/nix-dotfiles";
|
||||
|
||||
|
||||
"," = "comma ";
|
||||
|
||||
"gst" = "git status";
|
||||
"gsw" = "git switch";
|
||||
"gcm" = "git commit -m ";
|
||||
"gca" = "git commit --amend";
|
||||
"gaa" = "git add -A";
|
||||
"gb" = "git branch";
|
||||
|
||||
"sl" = "eza";
|
||||
"ls" = "eza";
|
||||
"lls" = "ls";
|
||||
"la" = "eza -la";
|
||||
"tree" = "eza -T";
|
||||
"neofetch" = "fastfetch";
|
||||
};
|
||||
historyControl = ["ignoreboth" "erasedups"];
|
||||
historyControl = ["ignoredups" "ignorespace" "erasedups"];
|
||||
historyIgnore = [ "ls" "cd" "exit" "cd .." ".." "la"];
|
||||
};
|
||||
|
||||
@@ -69,12 +77,6 @@
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
{ pkgs, config, nix-colors, ... }:
|
||||
|
||||
let
|
||||
nix-colors-lib = nix-colors.lib.contrib { inherit pkgs; };
|
||||
|
||||
background = "010C09";
|
||||
foreground = "FFFFFF";
|
||||
offWhite = "F0FFF8";
|
||||
teal = "60C89A";
|
||||
red = "E64553";
|
||||
blue = "58B5E0";
|
||||
green = "79E05B";
|
||||
purple = "6B5BDC";
|
||||
magenta = "80D1A0";
|
||||
cyan = "5FE2C5";
|
||||
yellow = "F5D24D";
|
||||
orange = "FF8800";
|
||||
pink = "FF4EC9";
|
||||
grey = "888B8E";
|
||||
lightGrey = "F3FCF7";
|
||||
darkTeal = "154E44";
|
||||
lighterTeal = "2C7A6A";
|
||||
lightTeal = "B0E8DA";
|
||||
|
||||
in{
|
||||
imports = [
|
||||
nix-colors.homeManagerModules.default
|
||||
];
|
||||
|
||||
# colorScheme = nix-colors-lib.colorSchemeFromPicture {
|
||||
# path = ./assets/evergarden-telescope.jpg;
|
||||
# variant = "dark";
|
||||
# };
|
||||
colorScheme = {
|
||||
slug = "cyberpunk-apathy";
|
||||
name = "Cyberpunk Apathy";
|
||||
author = "Adrian G L (based on Apathy by Jannik Siebert)";
|
||||
palette = {
|
||||
# Base16 color values with context-specific usage comments
|
||||
base00 = background; # Default background
|
||||
base01 = darkTeal; # Lighter background (used for status bars)
|
||||
base02 = lighterTeal; # Selection background
|
||||
base03 = teal; # Comments, secondary content, line highlighting
|
||||
base04 = lightTeal; # Darker foreground (used for status bars)
|
||||
base05 = foreground; # Default text and foreground
|
||||
base06 = lightGrey; # Lighter foreground (used for inactive text)
|
||||
base07 = offWhite; # Lightest background (used for highlights)
|
||||
base08 = teal; # Variables, constants, markup link text
|
||||
base09 = blue; # Integers, booleans, constants, and XML attributes
|
||||
base0A = magenta; # Classes, headings, keywords
|
||||
base0B = cyan; # Strings, literals, escape sequences
|
||||
base0C = green; # Support and error colors
|
||||
base0D = cyan; # Functions, methods, function names
|
||||
base0E = red; # Keywords, storage, selectors
|
||||
base0F = yellow; # Deprecated or obsolete code
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome.gnome-themes-extra;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "adwaita";
|
||||
style.name = "adwaita-dark";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
+36
-24
@@ -1,4 +1,4 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
foot
|
||||
@@ -6,28 +6,7 @@
|
||||
|
||||
programs.foot.enable = true;
|
||||
programs.foot.settings = {
|
||||
##lets stylix handle this instead.
|
||||
#colors = {
|
||||
# alpha="0.9";
|
||||
# foreground="ffffff";
|
||||
# background="000000";
|
||||
# regular0="2e3436";
|
||||
# regular1="cc0000";
|
||||
# regular2="c4e9a0";
|
||||
# regular3="cc4a00";
|
||||
# regular4="c3465a";
|
||||
# regular5="c75507";
|
||||
# regular6="c06989";
|
||||
# regular7="cd3d7c";
|
||||
# bright0="555753";
|
||||
# bright1="5ef292";
|
||||
# bright2="58ae23";
|
||||
# bright3="5fce94";
|
||||
# bright4="5729fc";
|
||||
# bright5="5ad7fa";
|
||||
# bright6="534e2e";
|
||||
# bright7="5eeeee";
|
||||
#};
|
||||
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "0xproto:size=12";
|
||||
@@ -35,7 +14,40 @@
|
||||
};
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
colors = {
|
||||
alpha = "0.7";
|
||||
#set based on https://github.com/tinted-theming/base16-foot/blob/main/colors/base16-apathy.ini and https://github.com/tinted-theming/base16-schemes/blob/main/apathy.yaml
|
||||
|
||||
foreground = "${config.colorScheme.palette.base05}";
|
||||
background = "${config.colorScheme.palette.base00}";
|
||||
|
||||
regular0 = "${config.colorScheme.palette.base00}";
|
||||
regular1 = "${config.colorScheme.palette.base08}";
|
||||
regular2 = "${config.colorScheme.palette.base0B}";
|
||||
regular3 = "${config.colorScheme.palette.base0A}";
|
||||
regular4 = "${config.colorScheme.palette.base0D}";
|
||||
regular5 = "${config.colorScheme.palette.base0E}";
|
||||
regular6 = "${config.colorScheme.palette.base0C}";
|
||||
regular7 = "${config.colorScheme.palette.base05}";
|
||||
|
||||
bright0 = "${config.colorScheme.palette.base03}";
|
||||
bright1 = "${config.colorScheme.palette.base08}";
|
||||
bright2 = "${config.colorScheme.palette.base0B}";
|
||||
bright3 = "${config.colorScheme.palette.base0A}";
|
||||
bright4 = "${config.colorScheme.palette.base0D}";
|
||||
bright5 = "${config.colorScheme.palette.base0E}";
|
||||
bright6 = "${config.colorScheme.palette.base0C}";
|
||||
bright7 = "${config.colorScheme.palette.base07}";
|
||||
selection-foreground = "${config.colorScheme.palette.base00}";
|
||||
selection-background = "${config.colorScheme.palette.base0A}";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
+9
-1
@@ -4,13 +4,21 @@
|
||||
./base.nix
|
||||
./code.nix
|
||||
./sway.nix
|
||||
./stylix.nix
|
||||
./colors.nix
|
||||
|
||||
#./stylix.nix
|
||||
|
||||
#inputs.nix-colors.homeManagerModules.default
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
firefox
|
||||
gimp
|
||||
dconf
|
||||
feh
|
||||
ripgrep
|
||||
eza
|
||||
bottom
|
||||
killall
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
+20
-20
@@ -6,26 +6,26 @@
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
settings = [
|
||||
{ profile.name = "undocked";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"\${pkg.sway}/bin/swaymsg workspace 1, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 2, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 5, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 6, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 7, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 8, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 9, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 10, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 0, move workspace to eDP-1"
|
||||
|
||||
];
|
||||
{
|
||||
profile.name = "undocked";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"\${pkg.sway}/bin/swaymsg workspace 1, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 2, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 5, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 6, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 7, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 8, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 9, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 10, move workspace to eDP-1"
|
||||
"\${pkg.sway}/bin/swaymsg workspace 0, move workspace to eDP-1"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
openssh
|
||||
sshfs
|
||||
];
|
||||
|
||||
services.ssh-agent.enable = true;
|
||||
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
compression = true;
|
||||
|
||||
matchBlocks = {
|
||||
"*.pvv.ntnu.no" = {
|
||||
user="adriangl";
|
||||
};
|
||||
"*.ntnu.no !*.pvv.ntnu.no" = {
|
||||
user="adriangl";
|
||||
proxyJump="isvegg.pvv.ntnu.no";
|
||||
};
|
||||
"snotra" = {
|
||||
user="adriangl";
|
||||
proxyJump="adriangl@isvegg.pvv.ntnu.no";
|
||||
hostname="snotra.idi.ntnu.no";
|
||||
};
|
||||
|
||||
#pvv
|
||||
"pvv" = {
|
||||
user="adriangl";
|
||||
hostname="login.pvv.ntnu.no";
|
||||
};
|
||||
"isvegg" = {
|
||||
user="adriangl";
|
||||
hostname="isvegg.pvv.ntnu.no";
|
||||
};
|
||||
|
||||
#home
|
||||
"aragon" = {
|
||||
port = 6969;
|
||||
user="gunalx";
|
||||
hostname="100.74.34.149";
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
extraConfig = "";
|
||||
};
|
||||
}
|
||||
|
||||
+30
-35
@@ -1,47 +1,42 @@
|
||||
{ pkgs, … }:
|
||||
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
stylix.enable = true;
|
||||
|
||||
|
||||
stylix.image = pkgs.fetchurl {
|
||||
url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
||||
sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
||||
stylix.image = ./assets/wallpaper.jpg;
|
||||
|
||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/apathy.yaml";
|
||||
|
||||
stylix.fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = [“JetBrainsMono”];};
|
||||
name = “JetBrainsMono Nerd Font Mono”;
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.dejavu_fonts;
|
||||
name = “DejaVu Sans”;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.dejavu_fonts;
|
||||
name = “DejaVu Serif”;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
stylix.base16Scheme = ”${pkgs.base16-schemes}/share/themes/apathy.yaml”;
|
||||
|
||||
# stylix.fonts = {
|
||||
# monospace = {
|
||||
# package = pkgs.nerdfonts.override {fonts = [“JetBrainsMono”];};
|
||||
# name = “JetBrainsMono Nerd Font Mono”;
|
||||
# };
|
||||
# sansSerif = {
|
||||
# package = pkgs.dejavu_fonts;
|
||||
# name = “DejaVu Sans”;
|
||||
# };
|
||||
# serif = {
|
||||
# package = pkgs.dejavu_fonts;
|
||||
# name = “DejaVu Serif”;
|
||||
# };
|
||||
# };
|
||||
|
||||
# stylix.fonts.sizes = {
|
||||
# applications = 16;
|
||||
# terminal = 12;
|
||||
# desktop = 12;
|
||||
# popups = 12;
|
||||
# };
|
||||
stylix.fonts.sizes = {
|
||||
applications = 16;
|
||||
terminal = 12;
|
||||
desktop = 12;
|
||||
popups = 12;
|
||||
};
|
||||
|
||||
stylix.opacity = {
|
||||
applications = 1.0;
|
||||
terminal = 0.8;
|
||||
desktop = 1.0;
|
||||
popups = 1.0;
|
||||
applications = 0.9;
|
||||
terminal = 0.7;
|
||||
desktop = 0.9;
|
||||
popups = 0.9;
|
||||
};
|
||||
|
||||
stylix.polarity = “dark” # “light” or “either”
|
||||
stylix.polarity = "dark"; # “light” or “either”
|
||||
|
||||
}
|
||||
|
||||
|
||||
+88
-48
@@ -1,47 +1,64 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
#wallpapers = import ./wallpapers { inherit lib pkgs; };
|
||||
|
||||
palette = config.colorScheme.palette;
|
||||
|
||||
|
||||
idlelock = "brightnessctl -d intel_backlight s 10% && swaylock && brightnessctl -d intel_backlight s 50% ";
|
||||
|
||||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./wofi.nix
|
||||
./foot.nix
|
||||
./fonts.nix
|
||||
./kanshi.nix
|
||||
./waybar.nix
|
||||
./foot.nix
|
||||
./fonts.nix
|
||||
./kanshi.nix
|
||||
./swaylock.nix
|
||||
#./assets/wallpapers
|
||||
];
|
||||
|
||||
|
||||
|
||||
#home.packages = [
|
||||
# wallpapers
|
||||
#];
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
libsForQt5.qt5ct
|
||||
qt6Packages.qt6ct
|
||||
pass-wayland
|
||||
pass-wayland
|
||||
wev
|
||||
|
||||
#term
|
||||
foot
|
||||
## possible other options
|
||||
#kitty
|
||||
#alacrity
|
||||
|
||||
|
||||
|
||||
#disply and background
|
||||
wdisplays
|
||||
kanshi
|
||||
wlr-randr
|
||||
swaybg
|
||||
#swaybg
|
||||
swww
|
||||
|
||||
#bar applets and notifications
|
||||
waybar
|
||||
networkmanagerapplet
|
||||
networkmanager
|
||||
libsForQt5.networkmanager-qt
|
||||
mako
|
||||
mako
|
||||
|
||||
#lockscreen and related
|
||||
wleave
|
||||
wleave
|
||||
swayidle
|
||||
swaylock-effects
|
||||
#swaylock-effects
|
||||
#swaylock-fancy #migth change to this default may look prettier.
|
||||
|
||||
#ligth and sound
|
||||
brightnessctl
|
||||
brightnessctl
|
||||
pavucontrol
|
||||
|
||||
#sway automation
|
||||
@@ -49,11 +66,13 @@
|
||||
swayest-workstyle
|
||||
|
||||
#launcher
|
||||
wofi
|
||||
wofi-emoji
|
||||
bemoji
|
||||
#wofi
|
||||
#wofi-emoji
|
||||
bemoji
|
||||
fuzzel
|
||||
|
||||
#screenshots
|
||||
|
||||
#screenshots
|
||||
grim
|
||||
slurp
|
||||
|
||||
@@ -75,16 +94,13 @@
|
||||
|
||||
];
|
||||
|
||||
qt.enable = true;
|
||||
qt.style.name = "breeze";
|
||||
|
||||
|
||||
home.sessionVariables = {
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
MOZ_USE_XINPUT2 = "1";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_CURRENT_DESKTOP = "sway";
|
||||
XKB_DEFAULT_OPTIONS = "terminate:ctrl_alt_bksp,caps:escape,altwin:swap_alt_win";
|
||||
XKB_DEFAULT_OPTIONS = "terminate:ctrl_alt_bksp,caps:escape";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
|
||||
# needs qt5.qtwayland in systemPackages
|
||||
@@ -96,19 +112,29 @@
|
||||
_JAVA_AWT_WM_NONREPARENTING = 1;
|
||||
|
||||
# gtk applications on wayland
|
||||
# export GDK_BACKEND=wayland
|
||||
GTK_BACKEND="wayland";
|
||||
|
||||
#WALLPAPER_DIR="${wallpapers}/share/wallpapers";
|
||||
WALLPAPER_DIR="/home/gunalx/Pictures/wallpapers";
|
||||
|
||||
};
|
||||
|
||||
|
||||
wayland.windowManager.sway = let
|
||||
|
||||
|
||||
|
||||
wayland.windowManager.sway = let
|
||||
cfg = config.wayland.windowManager.sway;
|
||||
in {
|
||||
wrapperFeatures.gtk = true;
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
||||
config = rec {
|
||||
|
||||
modifier = "Mod4";
|
||||
terminal = "footclient";
|
||||
menu = "wofi --show run";
|
||||
|
||||
terminal = "footclient";
|
||||
menu = "fuzzel -b ${palette.base00}BB -t ${palette.base05}FF";
|
||||
bars = [{
|
||||
fonts.size = 16.0;
|
||||
command = "waybar";
|
||||
@@ -116,6 +142,19 @@ in {
|
||||
}];
|
||||
startup = [
|
||||
{command = "foot --server";}
|
||||
|
||||
#wallpaper
|
||||
{command = "swww-daemon";}
|
||||
{command = "while true; do for wallpaper in $WALLPAPER_DIR/*; do swww img \"$wallpaper\"; sleep 15; done; done;";}
|
||||
|
||||
#idlelock
|
||||
{command = ''swayidle \
|
||||
timeout 120 ${idlelock} \
|
||||
timeout 180 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep ${idlelock}
|
||||
'';}
|
||||
|
||||
{command = "firefox";}
|
||||
{command = "nm-applet";}
|
||||
{command = "autotiling-rs";}
|
||||
@@ -131,6 +170,10 @@ in {
|
||||
"${cfg.config.down}" = "resize grow height 10 px or 10 ppt";
|
||||
"${cfg.config.up}" = "resize shrink height 10 px or 10 ppt";
|
||||
"${cfg.config.right}" = "resize grow width 10 px or 10 ppt";
|
||||
"Left" = "resize shrink width 10 px or 10 ppt";
|
||||
"Down" = "resize grow height 10 px or 10 ppt";
|
||||
"Up" = "resize shrink height 10 px or 10 ppt";
|
||||
"Right" = "resize grow width 10 px or 10 ppt";
|
||||
};
|
||||
keybindings = {
|
||||
"${cfg.config.modifier}+Return" = "exec ${cfg.config.terminal}";
|
||||
@@ -200,9 +243,7 @@ in {
|
||||
"${cfg.config.modifier}+r" = "mode resize";
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"F3" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
"F2" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
|
||||
@@ -216,32 +257,37 @@ in {
|
||||
"${cfg.config.modifier}+Shift+c" = "exec code";
|
||||
"${cfg.config.modifier}+f11" = "exec grim -g \"$(slurp)\" ~/Pictures/screenshots/\"screenshot-`date +%F-%T`\".png";
|
||||
"${cfg.config.modifier}+Print" = "exec grim -g \"$(slurp)\" ~/Pictures/screenshots/\"screenshot-`date +%F-%T`\".png";
|
||||
"Mod1+tab" = "workspace back_and_forth";
|
||||
"${cfg.config.modifier}+m" = "exec ${idlelock}";
|
||||
"ctrl+space" = "exec xkb_switch_layout next"; #TODO:verify
|
||||
"${cfg.config.modifier}+tab" = "workspace next";
|
||||
"Alt+tab" = "workspace back_and_forth";
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
set $mod Mod4
|
||||
input type:keyboard xkb_capslock disabled
|
||||
input type:keyboard xkb_numlock enabled
|
||||
input type:keyboard {
|
||||
xkb_capslock disabled
|
||||
xkb_numlock enabled
|
||||
|
||||
xkb_layout us,no
|
||||
xkb_options :
|
||||
}
|
||||
|
||||
|
||||
|
||||
xwayland enable
|
||||
|
||||
assign [class="autostart1"] workspace 1
|
||||
assign [class="autostart2"] workspace 2
|
||||
assign [class="autostart3"] workspace 3
|
||||
assign [class="autostart4"] workspace 4
|
||||
|
||||
smart_borders no_gaps
|
||||
|
||||
smart_borders no_gaps
|
||||
smart_gaps on
|
||||
gaps inner 5
|
||||
default_border pixel 1
|
||||
default_floating_border pixel 2
|
||||
titlebar_border_thickness 1
|
||||
|
||||
client.focused #80a0ff #303030 #c6c6c6 #80a0ff #80a0ff
|
||||
client.focused_inactive #80a0ff #303030 #c6c6c6 #80a0ff #80a0ff
|
||||
client.unfocused #80a0ff #080808 #c6c6c6 #80a0ff #303030
|
||||
client.urgent #80a0ff #80a0ff #080808 #80a0ff
|
||||
client.focused #${palette.base0D} #${palette.base00} #${palette.base05} #${palette.base0D} #${palette.base0D}
|
||||
client.focused_inactive #${palette.base0D} #${palette.base00} #${palette.base05} #${palette.base0D} #${palette.base0D}
|
||||
client.unfocused #${palette.base0D} #${palette.base03} #${palette.base05} #${palette.base0D} #${palette.base00}
|
||||
client.urgent #${palette.base0D} #${palette.base0D} #${palette.base03} #${palette.base0D} #${palette.base00}
|
||||
|
||||
for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable
|
||||
for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 1920 1080
|
||||
@@ -257,12 +303,6 @@ in {
|
||||
for_window [app_id="dolphin"] floating enable
|
||||
for_window [app_id="file-manager"] floating enable
|
||||
|
||||
#client.focused $accent $accent #000000 #00ffcc $accent
|
||||
#client.focused_inactive #000000 #000000 #ff9900 #000000 #000000
|
||||
#client.unfocused #000000 #000000 #00ffcc #000000 #000000
|
||||
#client.urgent #ff0000 #ff0000 #00ffcc #ff0000 #ff0000
|
||||
#client.placeholder #000000 #000000 #00ffcc #000000 #000000
|
||||
#client.background #000000
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{ pkgs, inputs, lib, config, nix-colors, ... }:
|
||||
let
|
||||
palette = config.colorScheme.palette;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
color = palette.base00;
|
||||
screenshots = true;
|
||||
grace = 15;
|
||||
clock = true;
|
||||
submit-on-touch = true;
|
||||
indicator-idle-visible = true;
|
||||
indicator-radius = 100;
|
||||
indicator-thickness = 7;
|
||||
ring-color = palette.base05;
|
||||
key-hl-color = palette.base03;
|
||||
tect-color = palette.base00;
|
||||
line-colot = palette.base00;
|
||||
innside-color = palette.base04;
|
||||
seperator-color = palette.base00;
|
||||
fade-in = 0.1;
|
||||
effect-scale = 0.6;
|
||||
effect-blur = "7x3";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
+376
@@ -0,0 +1,376 @@
|
||||
{ pkgs, inputs, lib, config, nix-colors, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
|
||||
|
||||
|
||||
programs.waybar = let
|
||||
inherit (inputs.nix-colors.lib.conversions) hexToRGBString;
|
||||
inherit (config.colorscheme) colors;
|
||||
inherit (config.colorscheme) palette;
|
||||
toRGBA = color: opacity: "rgba(${hexToRGBString "," (lib.removePrefix "#" color)},${opacity})";
|
||||
in {
|
||||
|
||||
enable = true;
|
||||
|
||||
|
||||
|
||||
style = ''
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: #${palette.base00};
|
||||
border-bottom: 3px solid #${palette.base03};
|
||||
color: ${toRGBA palette.base05 "0.7"};
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/*
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
window#waybar.solo {
|
||||
background-color: #${palette.base07};
|
||||
}
|
||||
*/
|
||||
|
||||
window#waybar.termite {
|
||||
background-color: #${palette.base03};
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #${palette.base00};
|
||||
border: none;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each button name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px #${palette.base05};
|
||||
}
|
||||
|
||||
/* you can set a style on hover for any module like this */
|
||||
#pulseaudio:hover {
|
||||
background-color: #${palette.base0A};
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #${palette.base05};
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #${palette.base00};
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #${palette.base03};
|
||||
box-shadow: inset 0 -3px #${palette.base05};
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #${palette.base08};
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #${palette.base03};
|
||||
box-shadow: inset 0 -3px #${palette.base05};
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
color: #${palette.base05};
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #${palette.base03};
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #${palette.base05};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: #${palette.base05};
|
||||
background-color: #${palette.base0B};
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #${palette.base05};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
}
|
||||
|
||||
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #${palette.base08};
|
||||
color: #${palette.base05};
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/*0b also looked good though. */
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#memory {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#disk {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #${palette.base0E};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: #${palette.base0A};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #${palette.base0E};
|
||||
color: #${palette.base03};
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
background-color: #${palette.base07};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#wireplumber.muted {
|
||||
background-color: #${palette.base0E};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #${palette.base0E};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #${palette.base07};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #${palette.base06};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #${palette.base06};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #${palette.base0C};
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #${palette.base0B};
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#keyboard-state > label.locked {
|
||||
background: #${palette.base04};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#scratchpad {
|
||||
background: #${palette.base00};
|
||||
color: #${palette.base00};
|
||||
}
|
||||
|
||||
#scratchpad.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#privacy {
|
||||
padding: 0;
|
||||
color: #${palette.base04};
|
||||
}
|
||||
|
||||
#privacy-item {
|
||||
color: #${palette.base00};
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: #${palette.base00};
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: #${palette.base0B};
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: #${palette.base0D};
|
||||
}
|
||||
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -44,6 +44,10 @@
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"python3.11-youtube-dl-2021.12.17"
|
||||
];
|
||||
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
./hardware-configuration.nix
|
||||
./nvidia.nix
|
||||
../../profiles/desktop.nix
|
||||
../../services/podman.nix
|
||||
../../services/postgres.nix
|
||||
../../services/mysql.nix
|
||||
../../services/ollama.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
@@ -54,6 +58,11 @@
|
||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
git
|
||||
wget
|
||||
poetry
|
||||
python3
|
||||
llama-cpp
|
||||
ollama
|
||||
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
cudaSupport = true;
|
||||
};
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
#boot with nvidia kernel module
|
||||
@@ -41,10 +45,21 @@
|
||||
# Enable the CUDA toolkit
|
||||
#install packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
#cudaPackages.cudnn
|
||||
#cudaPackages.cudatoolkit
|
||||
|
||||
cudaPackages.cudatoolkit
|
||||
cudaPackages.cudnn
|
||||
nvtopPackages.nvidia
|
||||
gcc
|
||||
cudaPackages.nccl
|
||||
cmake
|
||||
llama-cpp
|
||||
python3Packages.pip
|
||||
#cudaPackages.cuda_cudart
|
||||
#xgboostWithCuda
|
||||
#libxcrypt-legacy
|
||||
#cudaPackages.setupCudaHook
|
||||
#cudaPackages.markForCudatoolkitRootHook
|
||||
#cudaPackages.cuda_cudart.static
|
||||
#pkgs.cudaPackages.libcublas
|
||||
#cudaPackages.tensorrt_8_6_0 #needs to be added manually, to the store and is a pain because of the license agreement and garbage collection
|
||||
|
||||
];
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
../../profiles/webhost.nix
|
||||
../../profiles/base.nix
|
||||
../../services/gate.nix
|
||||
../../services/ozai.nix
|
||||
./routes.nix
|
||||
];
|
||||
|
||||
|
||||
@@ -77,18 +77,28 @@
|
||||
proxyPass = "http://100.84.215.84:8081";
|
||||
};
|
||||
#basicAuthFile = config.sops.secrets."nginx/defaultpass".path;
|
||||
};
|
||||
};
|
||||
|
||||
#virtualHosts."azul.256.no" = {
|
||||
# forceSSL = true;
|
||||
# useACMEHost = config.networking.domain;
|
||||
# locations."/" = {
|
||||
# proxyWebsockets = true;
|
||||
# proxyPass = "http://100.84.215.84:8085";
|
||||
# };
|
||||
# #basicAuthFile = config.sops.secrets."nginx/defaultpass".path;
|
||||
#};
|
||||
|
||||
virtualHosts."azul.256.no" = {
|
||||
forceSSL = true;
|
||||
useACMEHost = config.networking.domain;
|
||||
locations."/" = {
|
||||
proxyWebsockets = true;
|
||||
proxyPass = "http://100.84.215.84:8085";
|
||||
proxyPass = "http://localhost:8085";
|
||||
};
|
||||
#basicAuthFile = config.sops.secrets."nginx/defaultpass".path;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#virtualHosts."shiori.lauterer.it" = config.services.nginx.virtualHosts."archive.lauterer.it";
|
||||
#virtualHosts."pocket.lauterer.it" = config.services.nginx.virtualHosts."archive.lauterer.it";
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
../../services/wordpress.nix
|
||||
../../services/torrent.nix
|
||||
../../services/mc.nix
|
||||
../../services/ozai.nix
|
||||
#../../services/ozai.nix
|
||||
#../../services/stableDiffusion.nix
|
||||
../../services/rss.nix
|
||||
../../services/shiori.nix
|
||||
|
||||
+11
-1
@@ -24,6 +24,11 @@ imports =
|
||||
#just allow unfree, im fine with it.
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
zramSwap = {
|
||||
enable = true;
|
||||
memoryPercent = 25;
|
||||
};
|
||||
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Oslo";
|
||||
@@ -65,7 +70,12 @@ imports =
|
||||
alias lls='ls'
|
||||
'';
|
||||
|
||||
#TODO: ssh hosts.
|
||||
|
||||
|
||||
#some insecure packages
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"python3.11-youtube-dl-2021.12.17"
|
||||
];
|
||||
|
||||
#nix stuff
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
+40
-10
@@ -18,6 +18,8 @@ imports =
|
||||
|
||||
#libsForQt5.qt5ct
|
||||
#qt6Packages.qt6ct
|
||||
|
||||
where-is-my-sddm-theme
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
@@ -33,6 +35,8 @@ imports =
|
||||
nerdfonts
|
||||
ubuntu_font_family
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
@@ -40,23 +44,49 @@ imports =
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.displayManager.sddm.wayland.enable = true;
|
||||
services.displayManager.sddm.enable = true;
|
||||
security.pam.services.swaylock = {};
|
||||
security.pam.services.swaylock-effects = {};
|
||||
|
||||
services.displayManager = {
|
||||
enable = true;
|
||||
sessionPackages = with pkgs; [ sway ];
|
||||
sddm = {
|
||||
enable = true;
|
||||
theme = "${pkgs.where-is-my-sddm-theme}";
|
||||
wayland.enable = true;
|
||||
wayland.compositor = "kwin";
|
||||
autoNumlock = true;
|
||||
enableHidpi = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.desktopManager.plasma6.enableQt5Integration = true;
|
||||
|
||||
qt.platformTheme = "kde";
|
||||
#bluetooth
|
||||
services.blueman.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||
hardware.bluetooth = {
|
||||
enable = true; # enables support for Bluetooth
|
||||
settings = {
|
||||
General = {
|
||||
Enable = "Source,Sink,Media,Socket";
|
||||
Experimental = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#automount
|
||||
services.udisks2.enable = true;
|
||||
|
||||
#qt.platformTheme = "kde";
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "no";
|
||||
variant = "";
|
||||
layout = "us,no";
|
||||
variant = ",";
|
||||
};
|
||||
|
||||
|
||||
#TODO: add sway with home manager to get proper dotfiles. Possibly in its own sway file.
|
||||
#TODO: add hyperland.
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./base.nix
|
||||
./ai.nix
|
||||
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
|
||||
texliveFull
|
||||
pandoc
|
||||
pandoc-plantuml-filter
|
||||
plantuml
|
||||
haskellPackages.pandoc-plot
|
||||
pandoc-imagine
|
||||
pandoc-katex
|
||||
haskellPackages.pandoc-cli
|
||||
pandoc-include
|
||||
|
||||
markdownlint-cli
|
||||
libsForQt5.kate
|
||||
|
||||
poetry
|
||||
gcc
|
||||
cargo
|
||||
rustup
|
||||
|
||||
|
||||
mpi
|
||||
gnuplot
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
@@ -32,21 +32,13 @@ imports =
|
||||
|
||||
reveal-md
|
||||
|
||||
|
||||
|
||||
markdownlint-cli
|
||||
markdown-anki-decks
|
||||
|
||||
|
||||
pro-office-calculator
|
||||
gnucash
|
||||
wcalc
|
||||
libsForQt5.kcalc
|
||||
libsForQt5.kate
|
||||
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
+4
-10
@@ -8,10 +8,12 @@ imports =
|
||||
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
#hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
audio.enable = true;
|
||||
systemWide = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
@@ -33,7 +35,7 @@ imports =
|
||||
synthesia
|
||||
vital
|
||||
picoloop
|
||||
bespokesynth-with-vst2
|
||||
#bespokesynth-with-vst2 #always takes ages compiling
|
||||
fmsynth
|
||||
polyphone #soundfont editor
|
||||
|
||||
@@ -51,22 +53,15 @@ imports =
|
||||
whistle
|
||||
cozy
|
||||
lollypop
|
||||
deadbeef
|
||||
deadbeef-with-plugins
|
||||
libsForQt5.elisa
|
||||
|
||||
radiotray-ng
|
||||
shortwave
|
||||
radioboat
|
||||
qradiolink
|
||||
pithos
|
||||
gnomeExtensions.internet-radio
|
||||
gqrx
|
||||
|
||||
headset
|
||||
nuclear
|
||||
spotifyd
|
||||
spotifywm
|
||||
spotify-qt
|
||||
spotify-tray
|
||||
|
||||
@@ -77,5 +72,4 @@ imports =
|
||||
|
||||
programs.dconf.enable = true; #needed for easyeffects for some reason
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-12
@@ -66,19 +66,8 @@ imports =
|
||||
|
||||
];
|
||||
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
|
||||
qt.platformTheme = "qt5ct";
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "no";
|
||||
xkbVariant = "";
|
||||
};
|
||||
|
||||
|
||||
#TODO: add sway config with home manager to get proper dotfiles.
|
||||
|
||||
#qt.platformTheme = "qt5ct";
|
||||
|
||||
|
||||
}
|
||||
|
||||
+4
-9
@@ -14,8 +14,9 @@ imports =
|
||||
obs-studio
|
||||
obs-cli
|
||||
|
||||
## constantly breaking, more hassle than useful.
|
||||
#obs-studio-plugins.obs-3d-effect
|
||||
obs-studio-plugins.wlrobs
|
||||
#obs-studio-plugins.wlrobs
|
||||
#obs-studio-plugins.obs-ndi
|
||||
#obs-studio-plugins.waveform
|
||||
#obs-studio-plugins.obs-vaapi
|
||||
@@ -28,23 +29,17 @@ imports =
|
||||
#obs-studio-plugins.obs-source-record
|
||||
#obs-studio-plugins.obs-replay-source
|
||||
#obs-studio-plugins.obs-source-switcher
|
||||
obs-studio-plugins.obs-backgroundremoval
|
||||
obs-studio-plugins.obs-pipewire-audio-capture
|
||||
|
||||
#obs-studio-plugins.obs-backgroundremoval
|
||||
#obs-studio-plugins.obs-pipewire-audio-capture
|
||||
|
||||
shotcut
|
||||
libsForQt5.kdenlive
|
||||
olive-editor
|
||||
subtitleedit
|
||||
|
||||
|
||||
vlc
|
||||
mpv
|
||||
|
||||
|
||||
];
|
||||
|
||||
programs.dconf.enable = true; #needed for easyeffects for some reason
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
mariadb
|
||||
mysql-workbench
|
||||
jetbrains.datagrip
|
||||
];
|
||||
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
package = pkgs.mariadb;
|
||||
settings = {
|
||||
mysql = {
|
||||
local-infile = true;
|
||||
default-character-set="utf8mb4";
|
||||
};
|
||||
mysqld = {
|
||||
key_buffer_size = "6G";
|
||||
table_cache = 1600;
|
||||
log-error = "/var/log/mysql_err.log";
|
||||
plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ];
|
||||
collation-server = "utf8mb4_danish_ci";
|
||||
local_infile = 1;
|
||||
secure-file-priv = "";
|
||||
sql_mode = "IGNORE_SPACE,STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION";
|
||||
init_connect = "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_danish_ci'";
|
||||
|
||||
};
|
||||
mysqldump = {
|
||||
quick = true;
|
||||
max_allowed_packet = "16M";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+2
-1
@@ -14,6 +14,7 @@
|
||||
hostname = config.networking.hostName;
|
||||
in
|
||||
if hostname == "galadriel" then "cuda"
|
||||
else if hostname == "boromir" then "cuda"
|
||||
else if hostname == "aragorn" then "rocm"
|
||||
else null);
|
||||
|
||||
@@ -26,4 +27,4 @@
|
||||
};
|
||||
basicAuthFile = config.sops.secrets."nginx/defaultpass".path;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,12 +11,4 @@
|
||||
host = "0.0.0.0";
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."ozai.${config.networking.hostName}.${config.networking.domain}" = {
|
||||
forceSSL = true;
|
||||
#useACMEHost = config.networking.domain; #not sure if this will work, unless
|
||||
locations."/" = {
|
||||
proxyWebsockets = true;
|
||||
proxyPass = "http://${config.services.ozai.host}:${config.services.ozai.port}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
postgresql
|
||||
pgadmin4
|
||||
pgadmin4-desktopmode
|
||||
pgmanage
|
||||
postgresql_16
|
||||
];
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
package = pkgs.postgresql_16;
|
||||
ensureDatabases = [ "testing" ];
|
||||
authentication = pkgs.lib.mkOverride 10 ''
|
||||
#type database DBuser auth-method
|
||||
local all all trust
|
||||
'';
|
||||
|
||||
extraPlugins = with pkgs.postgresql16Packages; [postgis pg_repack pgvector];
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user