Refining
This commit is contained in:
parent
6382c9ea39
commit
d5098220e0
24 changed files with 677 additions and 60 deletions
103
flake.lock
103
flake.lock
|
@ -2,11 +2,11 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1634851050,
|
"lastModified": 1637014545,
|
||||||
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c91f3de5adaf1de973b797ef7485e441a65b8935",
|
"rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -15,6 +15,31 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ha-now-playing": {
|
||||||
|
"inputs": {
|
||||||
|
"naersk": "naersk",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": [
|
||||||
|
"flake-utils"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1637510878,
|
||||||
|
"narHash": "sha256-7dVyPvVpj+qat8+XCmWbD7v4m3pW4ah85sV8Olzxs84=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "3b33c60e64a7aa5b02fbbdee1182d9ad70ad8f58",
|
||||||
|
"revCount": 5,
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://git@git.datarift.nl/erwin/ha-now-playing.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://git@git.datarift.nl/erwin/ha-now-playing.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -22,11 +47,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636520380,
|
"lastModified": 1637481586,
|
||||||
"narHash": "sha256-gBiQ8+AQG6Dia34rqJDuqs6VFe/J1SjIhOZBeTXCKQI=",
|
"narHash": "sha256-cvgegmCRfNFuA/vPseMcSptmlNqD2nC0lLI9BQWU46A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1e5c8e9bff00d0844bc3d25d1a98eab5633e600b",
|
"rev": "1abd311eef125e7b64dff723f198d15e5aca2dd4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -35,13 +60,45 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"naersk": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1636968630,
|
||||||
|
"narHash": "sha256-/C8OVV8mo9M9MgQprHo4A5bM9waWMsw6PI4hb4DnGaA=",
|
||||||
|
"owner": "nmattia",
|
||||||
|
"repo": "naersk",
|
||||||
|
"rev": "55c4c0288ea3f115b5dd73af88052c4712994746",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nmattia",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "naersk",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636623366,
|
"lastModified": 1636976544,
|
||||||
"narHash": "sha256-jOQMlv9qFSj0U66HB+ujZoapty0UbewmSNbX8+3ujUQ=",
|
"narHash": "sha256-9ZmdyoRz4Qu8bP5BKR1T10YbzcB9nvCeQjOEw2cRKR0=",
|
||||||
|
"path": "/nix/store/ha4ld6wd29q1igjmhjdvkvbxpxxxxbxf-source",
|
||||||
|
"rev": "931ab058daa7e4cd539533963f95e2bb0dbd41e6",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1637155076,
|
||||||
|
"narHash": "sha256-26ZPNiuzlsnXpt55Q44+yzXvp385aNAfevzVEKbrU5Q=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c5ed8beb478a8ca035f033f659b60c89500a3034",
|
"rev": "715f63411952c86c8f57ab9e3e3cb866a015b5f2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -51,11 +108,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pamedia": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": [
|
||||||
|
"flake-utils"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1637438696,
|
||||||
|
"narHash": "sha256-nhr2A0tf5afMIceNkHcRVO1lSeI/Ocu9RBfOXDuvaVE=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "e9005826c19acc110c0e613a4cdba5d95715af61",
|
||||||
|
"revCount": 5,
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://git@git.datarift.nl/erwin/pamedia.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://git@git.datarift.nl/erwin/pamedia.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
|
"ha-now-playing": "ha-now-playing",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"pamedia": "pamedia"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
46
flake.nix
46
flake.nix
|
@ -11,24 +11,40 @@
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
|
ha-now-playing = {
|
||||||
|
url = "git+ssh://git@git.datarift.nl/erwin/ha-now-playing.git?ref=main";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
pamedia = {
|
||||||
|
url = "git+ssh://git@git.datarift.nl/erwin/pamedia.git?ref=main";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, ... }@inputs:
|
outputs = { self, ha-now-playing, pamedia, ... }@inputs:
|
||||||
with inputs;
|
with inputs;
|
||||||
let
|
let
|
||||||
|
|
||||||
defSystem = systemArch: baseConfig:
|
defSystem = system: baseConfig:
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
system = "${systemArch}";
|
system = "${system}";
|
||||||
modules = [
|
modules = [
|
||||||
{ _module.args.inputs = inputs; }
|
{ _module.args.inputs = inputs; }
|
||||||
{ _module.args.self-overlay = self.overlay; }
|
{ _module.args.self-overlay = self.overlay; }
|
||||||
|
{ _module.args.pamedia-overlay = pamedia.overlay; }
|
||||||
|
{ _module.args.ha-now-playing-overlay = ha-now-playing.overlay; }
|
||||||
({ ... }: {
|
({ ... }: {
|
||||||
imports = builtins.attrValues self.nixosModules ++ [
|
imports = builtins.attrValues self.nixosModules ++ [
|
||||||
{
|
{
|
||||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
||||||
nixpkgs.overlays = [ self.overlay ];
|
nixpkgs.overlays = [
|
||||||
|
self.overlay
|
||||||
|
ha-now-playing.overlay
|
||||||
|
pamedia.overlay
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
baseConfig
|
baseConfig
|
||||||
|
@ -44,7 +60,7 @@
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
overlay = final: prev: (import ./overlays) final prev;
|
overlay = import ./overlays;
|
||||||
# overlay = final: prev: {
|
# overlay = final: prev: {
|
||||||
# unstable = import nixpkgs {
|
# unstable = import nixpkgs {
|
||||||
# system = "x86_64-linux";
|
# system = "x86_64-linux";
|
||||||
|
@ -71,11 +87,11 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# loki = defSystem "x86_64-linux" {
|
loki = defSystem "x86_64-linux" {
|
||||||
# imports = [
|
imports = [
|
||||||
# (import (./machines/loki/configuration.nix) { inherit self; })
|
(import (./machines/loki/configuration.nix) { inherit self; })
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
} //
|
} //
|
||||||
|
@ -84,7 +100,11 @@
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [ self.overlay ];
|
overlays = [
|
||||||
|
self.overlay
|
||||||
|
ha-now-playing.overlay
|
||||||
|
pamedia.overlay
|
||||||
|
];
|
||||||
config = {
|
config = {
|
||||||
allowUnsupportedSystem = true;
|
allowUnsupportedSystem = true;
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
@ -94,12 +114,12 @@
|
||||||
rec {
|
rec {
|
||||||
packages = flake-utils.lib.flattenTree {
|
packages = flake-utils.lib.flattenTree {
|
||||||
rofi-wayland = pkgs.rofi-wayland;
|
rofi-wayland = pkgs.rofi-wayland;
|
||||||
pamedia = pkgs.pamedia;
|
# pamedia = pkgs.pamedia;
|
||||||
};
|
};
|
||||||
|
|
||||||
apps = {
|
apps = {
|
||||||
rofi-wayland = flake-utils.lib.mkApp { drv = packages.rofi-wayland; };
|
rofi-wayland = flake-utils.lib.mkApp { drv = packages.rofi-wayland; };
|
||||||
pamedia = flake-utils.lib.mkApp { drv = packages.pamedia; };
|
# pamedia = flake-utils.lib.mkApp { drv = packages.pamedia; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
19
home-manager/modules/bat/default.nix
Normal file
19
home-manager/modules/bat/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.programs.bat;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.programs.bat = {
|
||||||
|
enable = mkEnableOption "enable bat";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
theme = "Monokai Extended Bright";
|
||||||
|
pager = "less -FR";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ let
|
||||||
"image.avif.enable" = true;
|
"image.avif.enable" = true;
|
||||||
"privacy.webrtc.allowSilencingNotifications" = true;
|
"privacy.webrtc.allowSilencingNotifications" = true;
|
||||||
"privacy.webrtc.legacyGlobalIndicator" = false;
|
"privacy.webrtc.legacyGlobalIndicator" = false;
|
||||||
|
"browser.shell.checkDefaultBrowser" = false;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,7 +11,24 @@ in
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
functions = {
|
||||||
|
reload = {
|
||||||
|
body = ''
|
||||||
|
history --save
|
||||||
|
set -gx dirprev $dirprev
|
||||||
|
set -gx dirnext $dirnext
|
||||||
|
set -gx dirstack $dirstack
|
||||||
|
set -g fish_greeting ""
|
||||||
|
exec fish
|
||||||
|
'';
|
||||||
|
description = "Reload Fish while keeping some context";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
code = "${pkgs.vscode}/bin/code --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||||
|
ls = "${pkgs.exa}/bin/exa -Fb";
|
||||||
|
};
|
||||||
# interactiveShellInit = ''
|
# interactiveShellInit = ''
|
||||||
# '';
|
# '';
|
||||||
};
|
};
|
||||||
|
@ -19,6 +36,19 @@ in
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
|
settings = {
|
||||||
|
aws.disabled = true;
|
||||||
|
git_branch.symbol = " ";
|
||||||
|
memory_usage.symbol = " ";
|
||||||
|
package.symbol = " ";
|
||||||
|
python.symbol = " ";
|
||||||
|
rust.symbol = " ";
|
||||||
|
time.disabled = false;
|
||||||
|
status = {
|
||||||
|
disabled = false;
|
||||||
|
format = "[$symbol $status]($style) ";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
|
|
109
home-manager/modules/git/default.nix
Normal file
109
home-manager/modules/git/default.nix
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.programs.git;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.programs.git = {
|
||||||
|
enable = mkEnableOption "enable git";
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
description = "your name";
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
};
|
||||||
|
|
||||||
|
email = mkOption {
|
||||||
|
description = "your e-mail address";
|
||||||
|
type = types.nonEmptyStr;
|
||||||
|
};
|
||||||
|
|
||||||
|
signingKey = mkOption {
|
||||||
|
description = "your GPG signing key ID";
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = cfg.name;
|
||||||
|
userEmail = cfg.email;
|
||||||
|
signing = mkIf (cfg.signingKey != null) {
|
||||||
|
key = cfg.signingKey;
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
side-by-side = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases = {
|
||||||
|
ls = "ls-files";
|
||||||
|
ignored = "ls-files -o -i --exclude-standard";
|
||||||
|
st = "status -s -b";
|
||||||
|
branches = "branch -a";
|
||||||
|
tags = "tag";
|
||||||
|
stashes = "stash list";
|
||||||
|
nevermind = "!git reset --hard HEAD && git clean -d -f";
|
||||||
|
graph = "log --graph -10 --branches --remotes --tags --format=format:'%Cgreen%h %Creset• %<(75,trunc)%s (%cN, %cr) %Cred%d' --date-order";
|
||||||
|
precommit = "diff --cached --diff-algorithm=minimal -w";
|
||||||
|
track = "branch -u";
|
||||||
|
stat = "status -s";
|
||||||
|
up = "pull --autostash --rebase";
|
||||||
|
cm = "commit -m";
|
||||||
|
changelog = "log --oneline --no-merges";
|
||||||
|
source = "remote get-url origin";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
core = {
|
||||||
|
editor = "${pkgs.neovim}/bin/nvim";
|
||||||
|
# pager = "${pkgs.bat}/bin/bat";
|
||||||
|
};
|
||||||
|
merge = {
|
||||||
|
ff = "only";
|
||||||
|
conflictstyle = "diff3";
|
||||||
|
tool = "${pkgs.meld}/bin/meld";
|
||||||
|
};
|
||||||
|
pull = {
|
||||||
|
ff = "only";
|
||||||
|
};
|
||||||
|
rebase = {
|
||||||
|
autoStash = true;
|
||||||
|
};
|
||||||
|
color = {
|
||||||
|
ui = "auto";
|
||||||
|
status = {
|
||||||
|
added = "yellow";
|
||||||
|
changed = "green";
|
||||||
|
untracked = "cyan";
|
||||||
|
};
|
||||||
|
branch = {
|
||||||
|
current = "yellow reverse";
|
||||||
|
local = "yellow";
|
||||||
|
remote = "green";
|
||||||
|
};
|
||||||
|
diff = {
|
||||||
|
meta = "yellow bold";
|
||||||
|
frag = "magenta bold";
|
||||||
|
old = "red bold";
|
||||||
|
new = "green bold";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
git_protocol = "ssh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -9,7 +9,7 @@ in
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
pinentry-curses
|
pinentry-gnome
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
|
@ -18,7 +18,7 @@ in
|
||||||
|
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pinentryFlavor = "curses";
|
pinentryFlavor = "gnome3";
|
||||||
enableSshSupport = true;
|
enableSshSupport = true;
|
||||||
defaultCacheTtlSsh = 14400;
|
defaultCacheTtlSsh = 14400;
|
||||||
maxCacheTtlSsh = 14400;
|
maxCacheTtlSsh = 14400;
|
||||||
|
|
|
@ -3,7 +3,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.eboskma.programs.sway;
|
cfg = config.eboskma.programs.sway;
|
||||||
mod = "Mod4";
|
mod = "Mod4";
|
||||||
swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ~/.wallpapers/river-2560.png --fade-in 0.5 --scaling fill";
|
swaylockcmd = "${pkgs.swaylock-effects}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ~/.wallpapers/river-2560.png --fade-in 0.5 --scaling fill";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.eboskma.programs.sway.enable = mkEnableOption "Enable sway";
|
options.eboskma.programs.sway.enable = mkEnableOption "Enable sway";
|
||||||
|
@ -152,9 +152,9 @@ in
|
||||||
"${mod}+Shift+Ctrl+Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy -t \"image/png\" -f";
|
"${mod}+Shift+Ctrl+Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy -t \"image/png\" -f";
|
||||||
"${mod}+Shift+Alt+Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\"";
|
"${mod}+Shift+Alt+Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\"";
|
||||||
|
|
||||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pamedia}/bin/pamedia up";
|
# "XF86AudioRaiseVolume" = "exec ${pkgs.pamedia}/bin/pamedia up";
|
||||||
"XF86AudioLowerVolume" = "exec ${pkgs.pamedia}/bin/pamedia down";
|
# "XF86AudioLowerVolume" = "exec ${pkgs.pamedia}/bin/pamedia down";
|
||||||
"XF86AudioMute" = "exec ${pkgs.pamedia}/bin/pamedia mute";
|
# "XF86AudioMute" = "exec ${pkgs.pamedia}/bin/pamedia mute";
|
||||||
"XF86Calculator" = "exec ${pkgs.gnome.gnome-calculator}/bin/gnome-calculator";
|
"XF86Calculator" = "exec ${pkgs.gnome.gnome-calculator}/bin/gnome-calculator";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
63
home-manager/modules/tmux/default.nix
Normal file
63
home-manager/modules/tmux/default.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.programs.tmux;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.programs.tmux = {
|
||||||
|
enable = mkEnableOption "enable tmux";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
shortcut = "a";
|
||||||
|
terminal = "tmux-256color";
|
||||||
|
clock24 = true;
|
||||||
|
baseIndex = 1;
|
||||||
|
keyMode = "vi";
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
source ${pkgs.powerline}/share/tmux/powerline.conf
|
||||||
|
setw -g automatic-rename
|
||||||
|
|
||||||
|
set -ag update-environment "SWAYSOCK"
|
||||||
|
|
||||||
|
bind-key r source ~/.tmux.conf \; display "Reloaded config."
|
||||||
|
|
||||||
|
bind-key C-a send-prefix
|
||||||
|
|
||||||
|
bind-key | split-window -h
|
||||||
|
bind-key - split-window -v
|
||||||
|
|
||||||
|
bind-key h select-pane -L
|
||||||
|
bind-key n select-pane -D
|
||||||
|
bind-key e select-pane -U
|
||||||
|
bind-key i select-pane -R
|
||||||
|
|
||||||
|
bind-key -r C-h select-window -t :-
|
||||||
|
bind-key -r C-i select-window -t :+
|
||||||
|
|
||||||
|
bind-key -r H resize-pane -L 5
|
||||||
|
bind-key -r N resize-pane -D 5
|
||||||
|
bind-key -r E resize-pane -U 5
|
||||||
|
bind-key -r I resize-pane -R 5
|
||||||
|
|
||||||
|
bind-key C-[ swap-window -t -1
|
||||||
|
bind-key C-] swap-window -t +1
|
||||||
|
|
||||||
|
bind-key -T copy-mode-vi h send-keys -X cursor-left
|
||||||
|
bind-key -T copy-mode-vi n send-keys -X cursor-down
|
||||||
|
bind-key -T copy-mode-vi e send-keys -X cursor-up
|
||||||
|
bind-key -T copy-mode-vi i send-keys -X cursor-right
|
||||||
|
|
||||||
|
set -g mouse on
|
||||||
|
bind-key -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
|
||||||
|
bind-key -n WheelDownPane select-pane -t= \; send-keys -M
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
powerline
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
arrterian.nix-env-selector
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
brettm12345.nixfmt-vscode
|
brettm12345.nixfmt-vscode
|
||||||
# aaronduino.nix-lsp
|
# aaronduino.nix-lsp
|
||||||
|
|
|
@ -447,9 +447,6 @@
|
||||||
"[markdown]": {
|
"[markdown]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
},
|
},
|
||||||
"[rust]": {
|
|
||||||
"editor.defaultFormatter": "dprint.dprint"
|
|
||||||
},
|
|
||||||
"[cpp]": {
|
"[cpp]": {
|
||||||
"editor.defaultFormatter": "xaver.clang-format"
|
"editor.defaultFormatter": "xaver.clang-format"
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,7 +18,7 @@ in
|
||||||
modules-left = [
|
modules-left = [
|
||||||
"sway/workspaces"
|
"sway/workspaces"
|
||||||
"sway/mode"
|
"sway/mode"
|
||||||
# "custom/now_playing"
|
"custom/now_playing"
|
||||||
];
|
];
|
||||||
modules-center = [
|
modules-center = [
|
||||||
"sway/window"
|
"sway/window"
|
||||||
|
@ -89,14 +89,14 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO: package as nix thingy
|
# TODO: package as nix thingy
|
||||||
# "custom/now_playing" = {
|
"custom/now_playing" = {
|
||||||
# exec = "${HOME}/.config/waybar/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN>";
|
exec = "${pkgs.ha-now-playing}/bin/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN>";
|
||||||
# format = " ♪ {}";
|
format = " ♪ {}";
|
||||||
# interval = 2;
|
interval = 2;
|
||||||
# on-click = "${HOME}/.config/waybar/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN>";
|
on-click = "${pkgs.ha-now-playing}/bin/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN> play-pause";
|
||||||
# on-scroll-down = "${HOME}/.config/waybar/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN>";
|
on-scroll-down = "${pkgs.ha-now-playing}/bin/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN> volume-up";
|
||||||
# on-scroll-up = "${HOME}/.config/waybar/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN>";
|
on-scroll-up = "${pkgs.ha-now-playing}/bin/ha-now-playing --host home.datarift.nl --entity media_player.sonos_woonkamer --token <TOKEN> volume-down";
|
||||||
# };
|
};
|
||||||
|
|
||||||
"sway/window" = {
|
"sway/window" = {
|
||||||
format = "{}";
|
format = "{}";
|
||||||
|
|
53
machines/loki/configuration.nix
Normal file
53
machines/loki/configuration.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ self, ... }:
|
||||||
|
{
|
||||||
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
|
eboskma = {
|
||||||
|
base = {
|
||||||
|
plymouth.enable = true;
|
||||||
|
work = false;
|
||||||
|
};
|
||||||
|
desktop = {
|
||||||
|
enable = true;
|
||||||
|
home-manager = true;
|
||||||
|
};
|
||||||
|
nix-common = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
greetd.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
networking = {
|
||||||
|
enable = true;
|
||||||
|
dhcpInterfaces = [ "enp4s0" ];
|
||||||
|
};
|
||||||
|
sound.enable = true;
|
||||||
|
docker.enable = true;
|
||||||
|
gnome.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "loki";
|
||||||
|
useDHCP = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# nix = {
|
||||||
|
# package = pkgs.nixUnstable;
|
||||||
|
# extraOptions = ''
|
||||||
|
# experimental-features = nix-command flakes
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "21.11"; # Did you read the comment?
|
||||||
|
}
|
37
machines/loki/hardware-configuration.nix
Normal file
37
machines/loki/hardware-configuration.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/42065c7e-d0aa-4de8-a913-014cf59d48ac";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4064-A1BE";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/36d7ee19-f591-4c29-b7da-cafd9bf2c7f6";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/d93788f7-1b94-4687-8313-055d17f42b7e"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# high-resolution display
|
||||||
|
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||||
|
}
|
|
@ -34,5 +34,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, pkgs, config, inputs, self-overlay, ... }:
|
{ lib, pkgs, config, inputs, self-overlay, ha-now-playing-overlay, pamedia-overlay, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.eboskma.desktop;
|
let cfg = config.eboskma.desktop;
|
||||||
in
|
in
|
||||||
|
@ -25,59 +25,109 @@ in
|
||||||
|
|
||||||
home.username = "erwin";
|
home.username = "erwin";
|
||||||
home.homeDirectory = "/home/erwin";
|
home.homeDirectory = "/home/erwin";
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
|
};
|
||||||
|
|
||||||
nixpkgs.config = { allowUnfree = true; };
|
nixpkgs.config = { allowUnfree = true; };
|
||||||
services.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
|
|
||||||
eboskma = {
|
eboskma = {
|
||||||
programs = {
|
programs = {
|
||||||
alacritty.enable = true;
|
alacritty.enable = true;
|
||||||
|
bat.enable = true;
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
work = config.eboskma.base.work;
|
work = config.eboskma.base.work;
|
||||||
};
|
};
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
name = "Erwin Boskma";
|
||||||
|
email = "erwin@datarift.nl";
|
||||||
|
signingKey = "EE7ADEFE1D943C7B";
|
||||||
|
};
|
||||||
gpg.enable = true;
|
gpg.enable = true;
|
||||||
rofi.enable = true;
|
rofi.enable = true;
|
||||||
vscode.enable = true;
|
vscode.enable = true;
|
||||||
sway.enable = true;
|
sway.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(nerdfonts.override { fonts = [ "CascadiaCode" "FantasqueSansMono" "FiraCode" "Iosevka" "JetBrainsMono" "Meslo" "Noto" "SourceCodePro" ]; })
|
|
||||||
bitwarden
|
bitwarden
|
||||||
|
fd
|
||||||
|
git
|
||||||
gnome.nautilus
|
gnome.nautilus
|
||||||
jetbrains.clion
|
jetbrains.clion
|
||||||
neovim
|
neovim
|
||||||
|
ripgrep
|
||||||
signal-desktop
|
signal-desktop
|
||||||
steam
|
steam
|
||||||
tdesktop
|
tdesktop
|
||||||
unzip
|
unzip
|
||||||
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
theme = {
|
||||||
|
name = "Arc-Dark";
|
||||||
|
package = pkgs.arc-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "Paper";
|
||||||
|
package = pkgs.paper-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [ self-overlay ];
|
nixpkgs.overlays = [
|
||||||
|
self-overlay
|
||||||
|
ha-now-playing-overlay
|
||||||
|
pamedia-overlay
|
||||||
|
];
|
||||||
}
|
}
|
||||||
../../home-manager/modules/alacritty
|
../../home-manager/modules/alacritty
|
||||||
|
../../home-manager/modules/bat
|
||||||
../../home-manager/modules/firefox
|
../../home-manager/modules/firefox
|
||||||
../../home-manager/modules/fish
|
../../home-manager/modules/fish
|
||||||
|
../../home-manager/modules/git
|
||||||
../../home-manager/modules/gpg
|
../../home-manager/modules/gpg
|
||||||
../../home-manager/modules/rofi
|
../../home-manager/modules/rofi
|
||||||
../../home-manager/modules/vscode
|
../../home-manager/modules/vscode
|
||||||
../../home-manager/modules/sway
|
../../home-manager/modules/sway
|
||||||
|
../../home-manager/modules/tmux
|
||||||
../../home-manager/modules/waybar
|
../../home-manager/modules/waybar
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
dconf.enable = true;
|
||||||
|
|
||||||
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures = {
|
||||||
|
gtk = true;
|
||||||
|
base = true;
|
||||||
|
};
|
||||||
|
extraPackages = with pkgs; [ swaylock-effects swayidle ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
menus.enable = true;
|
menus.enable = true;
|
||||||
|
@ -92,12 +142,13 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pipewire = {
|
dbus.packages = [ pkgs.gcr ];
|
||||||
enable = true;
|
};
|
||||||
pulse.enable = true;
|
|
||||||
media-session.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
security.pam.services.swaylock = {
|
||||||
|
text = ''
|
||||||
|
auth include login
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
25
modules/docker/default.nix
Normal file
25
modules/docker/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.docker;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
options.eboskma.docker = { enable = mkEnableOption "activate docker"; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ docker-compose ];
|
||||||
|
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
autoPrune = {
|
||||||
|
enable = true;
|
||||||
|
dates = "weekly";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups =
|
||||||
|
[ "docker" ];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
35
modules/fonts/default.nix
Normal file
35
modules/fonts/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.fonts;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
options.eboskma.fonts = { enable = mkEnableOption "activate fonts"; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
|
||||||
|
fontDir.enable = true;
|
||||||
|
|
||||||
|
fonts = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "CascadiaCode" "FantasqueSansMono" "FiraCode" "Iosevka" "JetBrainsMono" "Meslo" "Noto" "SourceCodePro" ]; })
|
||||||
|
dejavu_fonts
|
||||||
|
kochi-substitute
|
||||||
|
noto-fonts-emoji
|
||||||
|
corefonts
|
||||||
|
recursive
|
||||||
|
ttf_bitstream_vera
|
||||||
|
];
|
||||||
|
|
||||||
|
fontconfig = {
|
||||||
|
defaultFonts = {
|
||||||
|
serif = [ "Recursive Sans Casual Static Medium" ];
|
||||||
|
sansSerif = [ "Recursive Sans Linear Static Medium" ];
|
||||||
|
monospace = [ "Iosevka Nerd Font" ];
|
||||||
|
emoji = [ "Noto Color Emoji" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
modules/gnome/default.nix
Normal file
17
modules/gnome/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.gnome;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.gnome.enable = mkEnableOption "activate gnome support settings";
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnomeExtensions.appindicator
|
||||||
|
];
|
||||||
|
services.udev.packages = with pkgs; [
|
||||||
|
gnome3.gnome-settings-daemon
|
||||||
|
];
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
};
|
||||||
|
}
|
27
modules/networking/default.nix
Normal file
27
modules/networking/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.networking;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.networking = {
|
||||||
|
enable = mkEnableOption "activate networing settings";
|
||||||
|
|
||||||
|
dhcpInterfaces = mkOption {
|
||||||
|
description = "list of interfaces to enable DHCP on";
|
||||||
|
type = types.listOf types.nonEmptyStr;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
networking = {
|
||||||
|
networkmanager.enable = true;
|
||||||
|
interfaces = listToAttrs (builtins.map
|
||||||
|
(iface: {
|
||||||
|
name = iface;
|
||||||
|
value = { useDHCP = true; };
|
||||||
|
})
|
||||||
|
cfg.dhcpInterfaces);
|
||||||
|
};
|
||||||
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "networkmanager" ];
|
||||||
|
};
|
||||||
|
}
|
23
modules/options/default.nix
Normal file
23
modules/options/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.var;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
options.eboskma.var.mainUser = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "erwin";
|
||||||
|
description = ''
|
||||||
|
The main system user
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
options.eboskma.system = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "x86_64-linux";
|
||||||
|
description = ''
|
||||||
|
System type
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
21
modules/sound/default.nix
Normal file
21
modules/sound/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.eboskma.sound;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.sound.enable = mkEnableOption "activate sound settings";
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
sound.enable = true;
|
||||||
|
services = {
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
media-session.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [ pavucontrol ];
|
||||||
|
|
||||||
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "audio" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
final: prev: {
|
final: prev: {
|
||||||
rofi-wayland = prev.pkgs.callPackage ../pkgs/rofi-wayland { };
|
rofi-wayland = prev.pkgs.callPackage ../pkgs/rofi-wayland { };
|
||||||
pamedia = prev.pkgs.callPackage ../pkgs/pamedia {
|
# pamedia = prev.pkgs.callPackage ../pkgs/pamedia {
|
||||||
buildPythonPackage = prev.pkgs.python3.pkgs.buildPythonPackage;
|
# buildPythonPackage = prev.pkgs.python3.pkgs.buildPythonPackage;
|
||||||
pulsectl = prev.pkgs.python39Packages.pulsectl;
|
# pulsectl = prev.pkgs.python39Packages.pulsectl;
|
||||||
pygobject3 = prev.pkgs.python39Packages.pygobject3;
|
# pygobject3 = prev.pkgs.python39Packages.pygobject3;
|
||||||
gobject-introspection = prev.pkgs.gobject-introspection;
|
# gobject-introspection = prev.pkgs.gobject-introspection;
|
||||||
libnotify = prev.pkgs.libnotify;
|
# libnotify = prev.pkgs.libnotify;
|
||||||
lib = prev.pkgs.lib;
|
# lib = prev.pkgs.lib;
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,14 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
src = ./src;
|
src = ./src;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gobject-introspection
|
||||||
|
libnotify
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
pulsectl
|
pulsectl
|
||||||
pygobject3
|
pygobject3
|
||||||
gobject-introspection
|
|
||||||
libnotify
|
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
Loading…
Reference in a new issue