mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
feat: use nixfmt
This commit is contained in:
154
flake.nix
154
flake.nix
@@ -18,88 +18,82 @@
|
|||||||
hyprland.url = "github:hyprwm/hyprland";
|
hyprland.url = "github:hyprwm/hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
nixpkgs,
|
{ nixpkgs, nur, home-manager, ags, nixvim, anyrun, hyprland, ... }@inputs:
|
||||||
nur,
|
let
|
||||||
home-manager,
|
inherit (nixpkgs.lib) genAttrs listToAttrs;
|
||||||
ags,
|
eachSystem = genAttrs [ "x86_64-linux" ];
|
||||||
nixvim,
|
legacyPackages = eachSystem (system:
|
||||||
anyrun,
|
import nixpkgs {
|
||||||
hyprland,
|
inherit system;
|
||||||
...
|
config = {
|
||||||
} @ inputs: let
|
allowUnfree = true;
|
||||||
inherit (nixpkgs.lib) genAttrs listToAttrs;
|
allowUnsupportedSystem = true;
|
||||||
eachSystem = genAttrs ["x86_64-linux"];
|
experimental-features = "nix-command flakes";
|
||||||
legacyPackages = eachSystem (system:
|
substituters = [
|
||||||
import nixpkgs {
|
"https://hyprland.cachix.org"
|
||||||
inherit system;
|
"https://cuda-maintainers.cachix.org"
|
||||||
config = {
|
];
|
||||||
allowUnfree = true;
|
trusted-public-keys = [
|
||||||
allowUnsupportedSystem = true;
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
experimental-features = "nix-command flakes";
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||||
substituters = ["https://hyprland.cachix.org" "https://cuda-maintainers.cachix.org"];
|
];
|
||||||
trusted-public-keys = [
|
};
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
overlays = [
|
||||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
nur.overlay
|
||||||
];
|
(final: prev: {
|
||||||
};
|
anyrunPlugins = anyrun.packages.${prev.system};
|
||||||
overlays = [
|
hyprland = hyprland.packages.${prev.system}.hyprland;
|
||||||
nur.overlay
|
xdg-desktop-portal-hyprland =
|
||||||
(final: prev: {
|
hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland;
|
||||||
anyrunPlugins = anyrun.packages.${prev.system};
|
ags = ags.packages.${prev.system}.default;
|
||||||
hyprland = hyprland.packages.${prev.system}.hyprland;
|
gbmonctl = prev.callPackage ./overlays/gbmonctl { };
|
||||||
xdg-desktop-portal-hyprland = hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland;
|
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
|
||||||
ags = ags.packages.${prev.system}.default;
|
cura = prev.appimageTools.wrapType2 rec {
|
||||||
gbmonctl = prev.callPackage ./overlays/gbmonctl {};
|
name = "cura";
|
||||||
lpc21isp = prev.callPackage ./overlays/lpc21isp {};
|
version = "5.6.0";
|
||||||
cura = prev.appimageTools.wrapType2 rec {
|
src = prev.fetchurl {
|
||||||
name = "cura";
|
url =
|
||||||
version = "5.6.0";
|
"https://github.com/Ultimaker/Cura/releases/download/${version}/UltiMaker-Cura-${version}-linux-X64.AppImage";
|
||||||
src = prev.fetchurl {
|
hash = "sha256-EHiWoNpLKHPzv6rZrtNgEr7y//iVcRYeV/TaCn8QpEA=";
|
||||||
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/UltiMaker-Cura-${version}-linux-X64.AppImage";
|
};
|
||||||
hash = "sha256-EHiWoNpLKHPzv6rZrtNgEr7y//iVcRYeV/TaCn8QpEA=";
|
extraPkgs = pkgs: with pkgs; [ ];
|
||||||
};
|
};
|
||||||
extraPkgs = pkgs: with pkgs; [];
|
})
|
||||||
};
|
];
|
||||||
})
|
});
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
mkHost = {
|
mkHost = { hostname, username, desktop, system, stateVersion, }:
|
||||||
hostname,
|
nixpkgs.lib.nixosSystem {
|
||||||
username,
|
pkgs = legacyPackages.${system};
|
||||||
desktop,
|
modules = [
|
||||||
system,
|
./modules/nixos/hid-fanatecff
|
||||||
stateVersion,
|
./modules/nixos/gbmonctl
|
||||||
}:
|
./hosts/${hostname}
|
||||||
nixpkgs.lib.nixosSystem {
|
home-manager.nixosModules.home-manager
|
||||||
pkgs = legacyPackages.${system};
|
{
|
||||||
modules = [
|
_module.args = { inherit username; };
|
||||||
./modules/nixos/hid-fanatecff
|
networking.hostName = hostname;
|
||||||
./modules/nixos/gbmonctl
|
system.stateVersion = stateVersion;
|
||||||
./hosts/${hostname}
|
home-manager = {
|
||||||
home-manager.nixosModules.home-manager
|
useGlobalPkgs = true;
|
||||||
{
|
useUserPackages = true;
|
||||||
_module.args = {inherit username;};
|
extraSpecialArgs = {
|
||||||
networking.hostName = hostname;
|
inherit username desktop stateVersion inputs;
|
||||||
system.stateVersion = stateVersion;
|
};
|
||||||
home-manager = {
|
users.${username} = import ./home;
|
||||||
useGlobalPkgs = true;
|
};
|
||||||
useUserPackages = true;
|
}
|
||||||
extraSpecialArgs = {inherit username desktop stateVersion inputs;};
|
];
|
||||||
users.${username} = import ./home;
|
specialArgs = inputs;
|
||||||
};
|
};
|
||||||
}
|
in {
|
||||||
];
|
nixosConfigurations.MONSTER = mkHost {
|
||||||
specialArgs = inputs;
|
hostname = "MONSTER";
|
||||||
|
username = "theaninova";
|
||||||
|
desktop = "hyprland";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
stateVersion = "23.05";
|
||||||
};
|
};
|
||||||
in {
|
|
||||||
nixosConfigurations.MONSTER = mkHost {
|
|
||||||
hostname = "MONSTER";
|
|
||||||
username = "theaninova";
|
|
||||||
desktop = "hyprland";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
stateVersion = "23.05";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{config, ...}: {
|
{ config, ... }: {
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
xdg.userDirs.enable = true;
|
xdg.userDirs.enable = true;
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
@@ -7,7 +7,8 @@
|
|||||||
NPM_CONFIG_CACHE = "${config.xdg.cacheHome}/npm";
|
NPM_CONFIG_CACHE = "${config.xdg.cacheHome}/npm";
|
||||||
NPM_CONFIG_TMP = "${config.xdg.stateHome}/npm";
|
NPM_CONFIG_TMP = "${config.xdg.stateHome}/npm";
|
||||||
WINEPREFIX = "${config.xdg.configHome}/wineprefixes/default";
|
WINEPREFIX = "${config.xdg.configHome}/wineprefixes/default";
|
||||||
_JAVA_OPTGRADLE_USER_HOMEIONS = ''-Djava.util.prefs.userRoot="${config.xdg.configHome}"/java'';
|
_JAVA_OPTGRADLE_USER_HOMEIONS =
|
||||||
|
''-Djava.util.prefs.userRoot="${config.xdg.configHome}"/java'';
|
||||||
GRADLE_USER_HOME = "${config.xdg.configHome}/gradle";
|
GRADLE_USER_HOME = "${config.xdg.configHome}/gradle";
|
||||||
DVDCSS_CACHE = "${config.xdg.cacheHome}/dvdcss";
|
DVDCSS_CACHE = "${config.xdg.cacheHome}/dvdcss";
|
||||||
DOCKER_CONFIG = "${config.xdg.configHome}/docker";
|
DOCKER_CONFIG = "${config.xdg.configHome}/docker";
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
{
|
{ username, desktop, stateVersion, osConfig, inputs, ... }: rec {
|
||||||
username,
|
|
||||||
desktop,
|
|
||||||
stateVersion,
|
|
||||||
osConfig,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: rec {
|
|
||||||
home = {
|
home = {
|
||||||
inherit username stateVersion;
|
inherit username stateVersion;
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
|
|||||||
39
home/desktops/hyprland/anyrun.css
Normal file
39
home/desktops/hyprland/anyrun.css
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
* {
|
||||||
|
font-family: "NotoSans NF";
|
||||||
|
}
|
||||||
|
|
||||||
|
window#window {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
box#main {
|
||||||
|
background: rgba(48, 52, 70, 0.4);
|
||||||
|
box-shadow: 0 0 15px rgba(0, 0, 0, 0.29);
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry#entry {
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 8px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry#entry,
|
||||||
|
list#main {
|
||||||
|
border-radius: 24px;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
row#match {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
row#plugin {
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
list#plugin {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs}: {
|
{ pkgs }: {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
plugins = with pkgs.anyrunPlugins; [
|
plugins = with pkgs.anyrunPlugins; [
|
||||||
@@ -11,49 +11,5 @@
|
|||||||
y.fraction = 0.2;
|
y.fraction = 0.2;
|
||||||
closeOnClick = true;
|
closeOnClick = true;
|
||||||
};
|
};
|
||||||
extraCss =
|
extraCss = builtins.readFile ./anyrun.css;
|
||||||
/*
|
|
||||||
css
|
|
||||||
*/
|
|
||||||
''
|
|
||||||
* {
|
|
||||||
font-family: "NotoSans NF";
|
|
||||||
}
|
|
||||||
|
|
||||||
window#window {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
box#main {
|
|
||||||
background: rgba(48, 52, 70, 0.4);
|
|
||||||
box-shadow: 0 0 15px rgba(0, 0, 0, 0.29);
|
|
||||||
border-radius: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry#entry {
|
|
||||||
border: none;
|
|
||||||
box-shadow: none;
|
|
||||||
padding: 8px 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry#entry,
|
|
||||||
list#main {
|
|
||||||
border-radius: 24px;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
row#match {
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
row#plugin {
|
|
||||||
border-radius: 16px;
|
|
||||||
padding: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
list#plugin {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.darkman = let
|
services.darkman = let
|
||||||
wallpaperPath = "${config.home.homeDirectory}/.local/state/wallpaper.jpg";
|
wallpaperPath = "${config.home.homeDirectory}/.local/state/wallpaper.jpg";
|
||||||
in {
|
in {
|
||||||
@@ -20,7 +16,7 @@
|
|||||||
|
|
||||||
vendorHash = "sha256-xEPmNnaDwFU4l2G4cMvtNeQ9KneF5g9ViQSFrDkrafY=";
|
vendorHash = "sha256-xEPmNnaDwFU4l2G4cMvtNeQ9KneF5g9ViQSFrDkrafY=";
|
||||||
|
|
||||||
nativeBuildInputs = [pkgs.scdoc];
|
nativeBuildInputs = [ pkgs.scdoc ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace darkman.service \
|
substituteInPlace darkman.service \
|
||||||
@@ -44,10 +40,11 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with pkgs.lib; {
|
meta = with pkgs.lib; {
|
||||||
description = "Framework for dark-mode and light-mode transitions on Linux desktop";
|
description =
|
||||||
|
"Framework for dark-mode and light-mode transitions on Linux desktop";
|
||||||
homepage = "https://gitlab.com/WhyNotHugo/darkman";
|
homepage = "https://gitlab.com/WhyNotHugo/darkman";
|
||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
maintainers = [maintainers.ajgrf];
|
maintainers = [ maintainers.ajgrf ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
mainProgram = "darkman";
|
mainProgram = "darkman";
|
||||||
};
|
};
|
||||||
@@ -58,18 +55,14 @@
|
|||||||
};
|
};
|
||||||
darkModeScripts = {
|
darkModeScripts = {
|
||||||
kitty-theme =
|
kitty-theme =
|
||||||
/*
|
# bash
|
||||||
bash
|
|
||||||
*/
|
|
||||||
''
|
''
|
||||||
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Frappe
|
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Frappe
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
lightModeScripts = {
|
lightModeScripts = {
|
||||||
kitty-theme =
|
kitty-theme =
|
||||||
/*
|
# bash
|
||||||
bash
|
|
||||||
*/
|
|
||||||
''
|
''
|
||||||
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Latte
|
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${config.home.homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Latte
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -1,18 +1,11 @@
|
|||||||
{
|
{ config, pkgs, lib, ... }: {
|
||||||
config,
|
imports = [ ./darkman.nix ];
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./darkman.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
variables = ["--all"];
|
variables = [ "--all" ];
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
env = [
|
env = [
|
||||||
@@ -48,13 +41,8 @@
|
|||||||
};
|
};
|
||||||
bind = import ./keybinds.nix;
|
bind = import ./keybinds.nix;
|
||||||
bindm = import ./mousebinds.nix;
|
bindm = import ./mousebinds.nix;
|
||||||
bindr = [
|
bindr = [ "SUPER,SUPER_L,exec,pkill anyrun || anyrun" ];
|
||||||
"SUPER,SUPER_L,exec,pkill anyrun || anyrun"
|
monitor = [ "DP-1,highrr,0x0,1,bitdepth,8" "DP-1,addreserved,250,0,0,0" ];
|
||||||
];
|
|
||||||
monitor = [
|
|
||||||
"DP-1,highrr,0x0,1,bitdepth,8"
|
|
||||||
"DP-1,addreserved,250,0,0,0"
|
|
||||||
];
|
|
||||||
workspace = [
|
workspace = [
|
||||||
"special:calc,border:false,gapsout:200,on-created-empty:[noanim;silent] kitty -e qalc"
|
"special:calc,border:false,gapsout:200,on-created-empty:[noanim;silent] kitty -e qalc"
|
||||||
];
|
];
|
||||||
@@ -96,10 +84,7 @@
|
|||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
force_default_wallpaper = 0;
|
force_default_wallpaper = 0;
|
||||||
};
|
};
|
||||||
layerrule = [
|
layerrule = [ "blur, anyrun" "ignorealpha 0.3, anyrun" ];
|
||||||
"blur, anyrun"
|
|
||||||
"ignorealpha 0.3, anyrun"
|
|
||||||
];
|
|
||||||
decoration = {
|
decoration = {
|
||||||
drop_shadow = "yes";
|
drop_shadow = "yes";
|
||||||
shadow_range = 16;
|
shadow_range = 16;
|
||||||
@@ -111,7 +96,7 @@
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
size = 8;
|
size = 8;
|
||||||
passes = 3;
|
passes = 3;
|
||||||
noise = 0.01;
|
noise = 1.0e-2;
|
||||||
contrast = 0.9;
|
contrast = 0.9;
|
||||||
brightness = 0.8;
|
brightness = 0.8;
|
||||||
};
|
};
|
||||||
@@ -137,8 +122,9 @@
|
|||||||
services.flameshot = {
|
services.flameshot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.flameshot.overrideAttrs (final: prev: {
|
package = pkgs.flameshot.overrideAttrs (final: prev: {
|
||||||
cmakeFlags = ["-DUSE_WAYLAND_CLIPBOARD=1" "-DUSE_WAYLAND_GRIM=true"];
|
cmakeFlags = [ "-DUSE_WAYLAND_CLIPBOARD=1" "-DUSE_WAYLAND_GRIM=true" ];
|
||||||
nativeBuildInputs = prev.nativeBuildInputs ++ [pkgs.libsForQt5.kguiaddons];
|
nativeBuildInputs = prev.nativeBuildInputs
|
||||||
|
++ [ pkgs.libsForQt5.kguiaddons ];
|
||||||
});
|
});
|
||||||
settings = {
|
settings = {
|
||||||
General = {
|
General = {
|
||||||
@@ -158,30 +144,30 @@
|
|||||||
systemd.user.services.ags = {
|
systemd.user.services.ags = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "ags";
|
Description = "ags";
|
||||||
PartOf = ["graphical-session.target" "tray.target"];
|
PartOf = [ "graphical-session.target" "tray.target" ];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${pkgs.ags}/bin/ags";
|
ExecStart = "${pkgs.ags}/bin/ags";
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID";
|
ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
KillMode = "mixed";
|
KillMode = "mixed";
|
||||||
Environment = "PATH=/run/current-system/sw/bin/:${with pkgs;
|
Environment = "PATH=/run/current-system/sw/bin/:${
|
||||||
lib.makeBinPath [
|
with pkgs;
|
||||||
swww
|
lib.makeBinPath [
|
||||||
sassc
|
swww
|
||||||
glib
|
sassc
|
||||||
brightnessctl
|
glib
|
||||||
ydotool
|
brightnessctl
|
||||||
kitty
|
ydotool
|
||||||
hyprpicker
|
kitty
|
||||||
]}";
|
hyprpicker
|
||||||
};
|
]
|
||||||
Install = {
|
}";
|
||||||
WantedBy = ["graphical-session.target"];
|
|
||||||
};
|
};
|
||||||
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||||
};
|
};
|
||||||
programs.kitty = import ./kitty.nix {inherit pkgs;};
|
programs.kitty = import ./kitty.nix { inherit pkgs; };
|
||||||
programs.anyrun = import ./anyrun.nix {inherit pkgs;};
|
programs.anyrun = import ./anyrun.nix { inherit pkgs; };
|
||||||
services.udiskie.enable = true;
|
services.udiskie.enable = true;
|
||||||
services.udiskie.tray = "never";
|
services.udiskie.tray = "never";
|
||||||
|
|
||||||
@@ -242,9 +228,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.fish.loginShellInit =
|
programs.fish.loginShellInit =
|
||||||
/*
|
# fish
|
||||||
fish
|
|
||||||
*/
|
|
||||||
''
|
''
|
||||||
Hyprland && echo "goodbye" && exit 0 \
|
Hyprland && echo "goodbye" && exit 0 \
|
||||||
|| echo "$status couldn't launch Hyprland" && tty | grep tty1 \
|
|| echo "$status couldn't launch Hyprland" && tty | grep tty1 \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs}: {
|
{ pkgs }: {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellIntegration.enableFishIntegration = true;
|
shellIntegration.enableFishIntegration = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|||||||
@@ -1,4 +1 @@
|
|||||||
[
|
[ "SUPER,mouse:272,movewindow" "SUPER,mouse:273,resizewindow" ]
|
||||||
"SUPER,mouse:272,movewindow"
|
|
||||||
"SUPER,mouse:273,resizewindow"
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{...}: {}
|
{ ... }: { }
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
xdg.configFile."ranger/rc.conf".source = ./ranger.conf;
|
xdg.configFile."ranger/rc.conf".source = ./ranger.conf;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# nix
|
# nix
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
bitwarden
|
bitwarden
|
||||||
|
|
||||||
# chat apps
|
# chat apps
|
||||||
(import ./threema-desktop.nix {inherit pkgs;})
|
(import ./threema-desktop.nix { inherit pkgs; })
|
||||||
(vesktop.override {electron = pkgs.electron_28;})
|
(vesktop.override { electron = pkgs.electron_28; })
|
||||||
(element-desktop.override {electron = pkgs.electron_28;})
|
(element-desktop.override { electron = pkgs.electron_28; })
|
||||||
slack
|
slack
|
||||||
|
|
||||||
# office
|
# office
|
||||||
@@ -42,9 +42,7 @@
|
|||||||
pinta
|
pinta
|
||||||
kdePackages.kdenlive
|
kdePackages.kdenlive
|
||||||
# friture TODO: broken
|
# friture TODO: broken
|
||||||
(blender.override {
|
(blender.override { cudaSupport = true; })
|
||||||
cudaSupport = true;
|
|
||||||
})
|
|
||||||
openscad-unstable
|
openscad-unstable
|
||||||
|
|
||||||
# development
|
# development
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
{
|
{ lib, stdenv, fetchFromGitHub, pkgs, }:
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "hid-fanatecff-tools";
|
pname = "hid-fanatecff-tools";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
[
|
["@angular/language-server"]
|
||||||
"@angular/language-server"
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{pkgs}:
|
{ pkgs }:
|
||||||
pkgs.threema-desktop.overrideAttrs (prev: {
|
pkgs.threema-desktop.overrideAttrs (prev: {
|
||||||
postFixup =
|
postFixup = prev.postFixup + ''
|
||||||
prev.postFixup
|
echo "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" >> $out/bin/threema
|
||||||
+ ''
|
'';
|
||||||
echo "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" >> $out/bin/threema
|
|
||||||
'';
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
rbw = {
|
rbw = {
|
||||||
@@ -15,14 +11,12 @@
|
|||||||
};
|
};
|
||||||
git = import ./git.nix;
|
git = import ./git.nix;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
nixvim = import ./nixvim {inherit pkgs;};
|
nixvim = import ./nixvim { inherit pkgs; };
|
||||||
firefox = import ./firefox.nix {inherit pkgs;};
|
firefox = import ./firefox.nix { inherit pkgs; };
|
||||||
gpg.enable = true;
|
gpg.enable = true;
|
||||||
btop = {
|
btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = { vim_keys = true; };
|
||||||
vim_keys = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
zsh = {
|
zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs}: {
|
{ pkgs }: {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
extraPolicies = {
|
extraPolicies = {
|
||||||
@@ -43,29 +43,30 @@
|
|||||||
default = "Google";
|
default = "Google";
|
||||||
engines = {
|
engines = {
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [
|
urls = [{
|
||||||
{
|
template = "https://search.nixos.org/packages";
|
||||||
template = "https://search.nixos.org/packages";
|
params = [
|
||||||
params = [
|
{
|
||||||
{
|
name = "type";
|
||||||
name = "type";
|
value = "packages";
|
||||||
value = "packages";
|
}
|
||||||
}
|
{
|
||||||
{
|
name = "query";
|
||||||
name = "query";
|
value = "{searchTerms}";
|
||||||
value = "{searchTerms}";
|
}
|
||||||
}
|
];
|
||||||
];
|
}];
|
||||||
}
|
icon =
|
||||||
];
|
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
definedAliases = [ "@np" ];
|
||||||
definedAliases = ["@np"];
|
|
||||||
};
|
};
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
|
urls = [{
|
||||||
|
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||||
|
}];
|
||||||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = ["@nw"];
|
definedAliases = [ "@nw" ];
|
||||||
};
|
};
|
||||||
"Wikipedia (en)".metaData.alias = "@wiki";
|
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.packages = [pkgs.neovide];
|
home.packages = [ pkgs.neovide ];
|
||||||
xdg.configFile."neovide/config.toml".source = ./neovide.toml;
|
xdg.configFile."neovide/config.toml".source = ./neovide.toml;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
{pkgs}: let
|
{ pkgs }:
|
||||||
angular-ls =
|
let
|
||||||
(import ../../packages/node-packages {
|
angular-ls = (import ../../packages/node-packages {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
nodejs = pkgs.nodejs_18;
|
nodejs = pkgs.nodejs_18;
|
||||||
})
|
})."@angular/language-server";
|
||||||
."@angular/language-server";
|
|
||||||
darkman = pkgs.vimUtils.buildVimPlugin {
|
darkman = pkgs.vimUtils.buildVimPlugin {
|
||||||
name = "darkman";
|
name = "darkman";
|
||||||
src = pkgs.buildGoModule rec {
|
src = pkgs.buildGoModule rec {
|
||||||
@@ -47,7 +46,7 @@ in {
|
|||||||
smartindent = true;
|
smartindent = true;
|
||||||
signcolumn = "yes";
|
signcolumn = "yes";
|
||||||
|
|
||||||
undodir = {__raw = "os.getenv('HOME') .. '/.config/nvim/undodir'";};
|
undodir = { __raw = "os.getenv('HOME') .. '/.config/nvim/undodir'"; };
|
||||||
undofile = true;
|
undofile = true;
|
||||||
|
|
||||||
scrolloff = 12;
|
scrolloff = 12;
|
||||||
@@ -68,8 +67,8 @@ in {
|
|||||||
minimap_width = 10;
|
minimap_width = 10;
|
||||||
minimap_auto_start = 1;
|
minimap_auto_start = 1;
|
||||||
minimap_auto_start_win_enter = 1;
|
minimap_auto_start_win_enter = 1;
|
||||||
minimap_close_buftypes = ["nofile"];
|
minimap_close_buftypes = [ "nofile" ];
|
||||||
minimap_block_filetypes = ["NvimTree"];
|
minimap_block_filetypes = [ "NvimTree" ];
|
||||||
|
|
||||||
mapleader = ";";
|
mapleader = ";";
|
||||||
|
|
||||||
@@ -110,8 +109,8 @@ in {
|
|||||||
light = "latte";
|
light = "latte";
|
||||||
};
|
};
|
||||||
integrations.native_lsp.underlines = {
|
integrations.native_lsp.underlines = {
|
||||||
errors = ["undercurl"];
|
errors = [ "undercurl" ];
|
||||||
warnings = ["undercurl"];
|
warnings = [ "undercurl" ];
|
||||||
};
|
};
|
||||||
customHighlights = builtins.readFile ./custom-highlights.lua;
|
customHighlights = builtins.readFile ./custom-highlights.lua;
|
||||||
};
|
};
|
||||||
@@ -130,41 +129,37 @@ in {
|
|||||||
right = "┊";
|
right = "┊";
|
||||||
};
|
};
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = [
|
lualine_a = [{
|
||||||
{
|
name = "mode";
|
||||||
name = "mode";
|
separator = {
|
||||||
separator = {
|
right = "";
|
||||||
right = "";
|
left = "";
|
||||||
left = "";
|
};
|
||||||
};
|
icon = "";
|
||||||
icon = "";
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
lualine_x = [
|
lualine_x = [
|
||||||
{name = "fancy_lsp_servers";}
|
{ name = "fancy_lsp_servers"; }
|
||||||
{
|
{
|
||||||
name = "filetype";
|
name = "filetype";
|
||||||
extraConfig = {icon_only = true;};
|
extraConfig = { icon_only = true; };
|
||||||
padding = {
|
padding = {
|
||||||
left = 1;
|
left = 1;
|
||||||
right = 2;
|
right = 2;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
lualine_z = [
|
lualine_z = [{
|
||||||
{
|
name = "location";
|
||||||
name = "location";
|
separator = {
|
||||||
separator = {
|
right = "";
|
||||||
right = "";
|
left = "";
|
||||||
left = "";
|
};
|
||||||
};
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
auto-save = {
|
auto-save = {
|
||||||
enable = true;
|
enable = true;
|
||||||
triggerEvents = ["FocusLost" "BufLeave"];
|
triggerEvents = [ "FocusLost" "BufLeave" ];
|
||||||
};
|
};
|
||||||
indent-blankline = {
|
indent-blankline = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -242,20 +237,20 @@ in {
|
|||||||
conform-nvim = {
|
conform-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
formattersByFt = {
|
formattersByFt = {
|
||||||
lua = ["stylua"];
|
lua = [ "stylua" ];
|
||||||
javascript = ["prettier"];
|
javascript = [ "prettier" ];
|
||||||
markdown = ["prettier"];
|
markdown = [ "prettier" ];
|
||||||
typescript = ["prettier"];
|
typescript = [ "prettier" ];
|
||||||
json = ["prettier"];
|
json = [ "prettier" ];
|
||||||
yaml = ["prettier"];
|
yaml = [ "prettier" ];
|
||||||
html = ["prettier"];
|
html = [ "prettier" ];
|
||||||
css = ["prettier"];
|
css = [ "prettier" ];
|
||||||
scss = ["prettier"];
|
scss = [ "prettier" ];
|
||||||
less = ["prettier"];
|
less = [ "prettier" ];
|
||||||
svelte = ["prettier"];
|
svelte = [ "prettier" ];
|
||||||
rust = ["rustfmt"];
|
rust = [ "rustfmt" ];
|
||||||
bash = ["shfmt"];
|
bash = [ "shfmt" ];
|
||||||
nix = ["alejandra"];
|
nix = [ "nixfmt" ];
|
||||||
};
|
};
|
||||||
formatOnSave = {
|
formatOnSave = {
|
||||||
timeoutMs = 500;
|
timeoutMs = 500;
|
||||||
@@ -266,66 +261,67 @@ in {
|
|||||||
lint = {
|
lint = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lintersByFt = {
|
lintersByFt = {
|
||||||
javascript = ["eslint"];
|
javascript = [ "eslint" ];
|
||||||
typescript = ["eslint"];
|
typescript = [ "eslint" ];
|
||||||
css = ["stylelint"];
|
css = [ "stylelint" ];
|
||||||
scss = ["stylelint"];
|
scss = [ "stylelint" ];
|
||||||
less = ["stylelint"];
|
less = [ "stylelint" ];
|
||||||
bash = ["shellcheck"];
|
bash = [ "shellcheck" ];
|
||||||
};
|
};
|
||||||
autoCmd.event = "TextChanged";
|
autoCmd.event = "TextChanged";
|
||||||
};
|
};
|
||||||
|
|
||||||
lsp = {
|
lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = {diagnostic = {};};
|
keymaps = { diagnostic = { }; };
|
||||||
enabledServers = [
|
enabledServers = [{
|
||||||
{
|
name = "angularls";
|
||||||
name = "angularls";
|
extraOptions = {
|
||||||
extraOptions = {
|
cmd = [
|
||||||
cmd = [
|
"ngserver"
|
||||||
"ngserver"
|
"--stdio"
|
||||||
"--stdio"
|
"--tsProbeLocations"
|
||||||
"--tsProbeLocations"
|
""
|
||||||
""
|
"--ngProbeLocations"
|
||||||
"--ngProbeLocations"
|
""
|
||||||
""
|
];
|
||||||
];
|
on_new_config = {
|
||||||
on_new_config = {
|
__raw =
|
||||||
__raw =
|
# lua
|
||||||
/*
|
''
|
||||||
lua
|
function(new_config, new_root_dir)
|
||||||
*/
|
new_config.cmd = {
|
||||||
''
|
new_root_dir .. "/node_modules/@angular/language-server/bin/ngserver",
|
||||||
function(new_config, new_root_dir)
|
"--stdio",
|
||||||
new_config.cmd = {
|
"--tsProbeLocations",
|
||||||
new_root_dir .. "/node_modules/@angular/language-server/bin/ngserver",
|
new_root_dir .. "/node_modules",
|
||||||
"--stdio",
|
"--ngProbeLocations",
|
||||||
"--tsProbeLocations",
|
new_root_dir .. "/node_modules",
|
||||||
new_root_dir .. "/node_modules",
|
}
|
||||||
"--ngProbeLocations",
|
end
|
||||||
new_root_dir .. "/node_modules",
|
'';
|
||||||
}
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
filetypes = ["typescript" "html" "typescriptreact" "typescript.tsx" "angular" "html.angular"];
|
|
||||||
on_attach = {
|
|
||||||
__raw =
|
|
||||||
/*
|
|
||||||
lua
|
|
||||||
*/
|
|
||||||
''
|
|
||||||
function(client, bufnr)
|
|
||||||
if vim.bo[bufnr].filetype == "html" then
|
|
||||||
vim.bo[bufnr].filetype = "angular"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
filetypes = [
|
||||||
];
|
"typescript"
|
||||||
|
"html"
|
||||||
|
"typescriptreact"
|
||||||
|
"typescript.tsx"
|
||||||
|
"angular"
|
||||||
|
"html.angular"
|
||||||
|
];
|
||||||
|
on_attach = {
|
||||||
|
__raw =
|
||||||
|
# lua
|
||||||
|
''
|
||||||
|
function(client, bufnr)
|
||||||
|
if vim.bo[bufnr].filetype == "html" then
|
||||||
|
vim.bo[bufnr].filetype = "angular"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}];
|
||||||
servers = {
|
servers = {
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
cssls.enable = true;
|
cssls.enable = true;
|
||||||
@@ -345,7 +341,7 @@ in {
|
|||||||
|
|
||||||
clangd = {
|
clangd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cmd = ["clangd" "--offset-encoding=utf-16"];
|
cmd = [ "clangd" "--offset-encoding=utf-16" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixd.enable = true;
|
nixd.enable = true;
|
||||||
@@ -359,9 +355,7 @@ in {
|
|||||||
mode = "symbol_text";
|
mode = "symbol_text";
|
||||||
cmp = {
|
cmp = {
|
||||||
after =
|
after =
|
||||||
/*
|
# lua
|
||||||
lua
|
|
||||||
*/
|
|
||||||
''
|
''
|
||||||
function(entry, vim_item, kind)
|
function(entry, vim_item, kind)
|
||||||
if entry.source.name == "npm" then
|
if entry.source.name == "npm" then
|
||||||
@@ -373,37 +367,35 @@ in {
|
|||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
symbolMap = {
|
symbolMap = { Copilot = ""; };
|
||||||
Copilot = "";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
cmp = {
|
cmp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
mapping = {
|
mapping = {
|
||||||
"<C-n>" = "cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select})";
|
"<C-n>" =
|
||||||
"<C-p>" = "cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select})";
|
"cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select})";
|
||||||
|
"<C-p>" =
|
||||||
|
"cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select})";
|
||||||
"<C-Space>" = "cmp.mapping.confirm({select = true})";
|
"<C-Space>" = "cmp.mapping.confirm({select = true})";
|
||||||
"<C-Enter>" = "cmp.mapping.complete()";
|
"<C-Enter>" = "cmp.mapping.complete()";
|
||||||
};
|
};
|
||||||
sources = [
|
sources = [
|
||||||
{name = "copilot";}
|
{ name = "copilot"; }
|
||||||
{name = "path";}
|
{ name = "path"; }
|
||||||
{name = "luasnip";}
|
{ name = "luasnip"; }
|
||||||
{
|
{
|
||||||
name = "npm";
|
name = "npm";
|
||||||
keywordLength = 4;
|
keywordLength = 4;
|
||||||
priority = 10;
|
priority = 10;
|
||||||
}
|
}
|
||||||
{name = "nvim_lsp";}
|
{ name = "nvim_lsp"; }
|
||||||
{name = "nvim_lsp_signature_help";}
|
{ name = "nvim_lsp_signature_help"; }
|
||||||
{name = "nvim_lsp_document_symbol";}
|
{ name = "nvim_lsp_document_symbol"; }
|
||||||
];
|
];
|
||||||
formatting.fields = ["abbr" "kind"];
|
formatting.fields = [ "abbr" "kind" ];
|
||||||
snippet.expand =
|
snippet.expand =
|
||||||
/*
|
# lua
|
||||||
lua
|
|
||||||
*/
|
|
||||||
"function(args) require('luasnip').lsp_expand(args.body) end";
|
"function(args) require('luasnip').lsp_expand(args.body) end";
|
||||||
window = {
|
window = {
|
||||||
completion.border = "rounded";
|
completion.border = "rounded";
|
||||||
@@ -413,9 +405,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
which-key = {
|
which-key = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
copilot-lua = {
|
copilot-lua = {
|
||||||
panel.enabled = false;
|
panel.enabled = false;
|
||||||
@@ -434,9 +424,13 @@ in {
|
|||||||
angular-ls
|
angular-ls
|
||||||
pkgs.nodePackages.typescript-language-server
|
pkgs.nodePackages.typescript-language-server
|
||||||
pkgs.nodePackages.stylelint
|
pkgs.nodePackages.stylelint
|
||||||
|
pkgs.nodePackages.prettier
|
||||||
pkgs.jq
|
pkgs.jq
|
||||||
pkgs.html-tidy
|
pkgs.html-tidy
|
||||||
pkgs.alejandra
|
pkgs.nixfmt
|
||||||
|
pkgs.stylua
|
||||||
|
pkgs.shfmt
|
||||||
|
pkgs.fzf
|
||||||
];
|
];
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
vim-mergetool
|
vim-mergetool
|
||||||
|
|||||||
@@ -3,58 +3,55 @@ require("cmp-npm").setup({})
|
|||||||
require("rest-nvim").setup({})
|
require("rest-nvim").setup({})
|
||||||
require("actions-preview").setup({})
|
require("actions-preview").setup({})
|
||||||
|
|
||||||
-- require("lspconfig").angularls.setup({})
|
|
||||||
|
|
||||||
if vim.g.neovide then
|
if vim.g.neovide then
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
pattern = "*",
|
pattern = "*",
|
||||||
callback = function()
|
callback = function()
|
||||||
local flavour = require("catppuccin").options.background[vim.o.background]
|
local flavour = require("catppuccin").options.background[vim.o.background]
|
||||||
local palette = require("catppuccin.palettes").get_palette(flavour)
|
local palette = require("catppuccin.palettes").get_palette(flavour)
|
||||||
vim.cmd("hi Normal guibg=" .. palette.base)
|
vim.cmd("hi Normal guibg=" .. palette.base)
|
||||||
vim.cmd("set pumblend=100")
|
vim.cmd("set pumblend=100")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
local signs = {
|
local signs = {
|
||||||
{ name = "DiagnosticSignError", text = "" },
|
{ name = "DiagnosticSignError", text = "" },
|
||||||
{ name = "DiagnosticSignWarn", text = "" },
|
{ name = "DiagnosticSignWarn", text = "" },
|
||||||
{ name = "DiagnosticSignHint", text = "" },
|
{ name = "DiagnosticSignHint", text = "" },
|
||||||
{ name = "DiagnosticSignInfo", text = "" },
|
{ name = "DiagnosticSignInfo", text = "" },
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, sign in ipairs(signs) do
|
for _, sign in ipairs(signs) do
|
||||||
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = true,
|
virtual_text = true,
|
||||||
signs = true,
|
signs = true,
|
||||||
underline = true,
|
underline = true,
|
||||||
update_in_insert = true,
|
update_in_insert = true,
|
||||||
severity_sort = false,
|
severity_sort = false,
|
||||||
})
|
})
|
||||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
|
||||||
|
|
||||||
local Terminal = require('toggleterm.terminal').Terminal
|
local Terminal = require("toggleterm.terminal").Terminal
|
||||||
local lazygit = Terminal:new({
|
local lazygit = Terminal:new({
|
||||||
cmd = "lazygit",
|
cmd = "lazygit",
|
||||||
dir = "git_dir",
|
dir = "git_dir",
|
||||||
direction = "float",
|
direction = "float",
|
||||||
|
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd("startinsert!")
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
on_close = function(term)
|
on_close = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd("startinsert!")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
function _lazygit_toggle()
|
function _lazygit_toggle()
|
||||||
lazygit:toggle()
|
lazygit:toggle()
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<leader>g", "<cmd>lua _lazygit_toggle()<CR>", { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>g", "<cmd>lua _lazygit_toggle()<CR>", { noremap = true, silent = true })
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
{
|
{
|
||||||
key = "hh";
|
key = "hh";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
action = '':Telescope harpoon marks<CR>'';
|
action = ":Telescope harpoon marks<CR>";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "<leader>sa";
|
key = "<leader>sa";
|
||||||
@@ -77,7 +77,8 @@
|
|||||||
key = "<leader>xw";
|
key = "<leader>xw";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
lua = true;
|
lua = true;
|
||||||
action = "function() require('trouble').toggle('workspace_diagnostics') end";
|
action =
|
||||||
|
"function() require('trouble').toggle('workspace_diagnostics') end";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "<leader>xd";
|
key = "<leader>xd";
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{ pkgs, homeDirectory, ... }: {
|
||||||
pkgs,
|
|
||||||
homeDirectory,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services = {
|
services = {
|
||||||
gpg-agent = {
|
gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
{
|
{ config, pkgs, username, ... }: {
|
||||||
config,
|
imports = [ ./nvidia.nix ./hardware-configuration.nix ];
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./nvidia.nix
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
settings.experimental-features = ["nix-command" "flakes"];
|
settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
randomizedDelaySec = "14m";
|
randomizedDelaySec = "14m";
|
||||||
@@ -35,7 +27,7 @@
|
|||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
supportedFilesystems = ["ntfs"];
|
supportedFilesystems = [ "ntfs" ];
|
||||||
|
|
||||||
# Silent Boot
|
# Silent Boot
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
@@ -52,8 +44,8 @@
|
|||||||
initrd.verbose = false;
|
initrd.verbose = false;
|
||||||
|
|
||||||
# Virtual Camera/Mic
|
# Virtual Camera/Mic
|
||||||
kernelModules = ["v4l2loopback" "snd-aloop" "sg"];
|
kernelModules = [ "v4l2loopback" "snd-aloop" "sg" ];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ];
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
||||||
blacklist i2c_nvidia_gpu
|
blacklist i2c_nvidia_gpu
|
||||||
@@ -79,7 +71,7 @@
|
|||||||
|
|
||||||
hardware.sane = {
|
hardware.sane = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = [pkgs.sane-airscan];
|
extraBackends = [ pkgs.sane-airscan ];
|
||||||
};
|
};
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
@@ -91,17 +83,14 @@
|
|||||||
services.dbus.enable = true;
|
services.dbus.enable = true;
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-kde ];
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.xdg-desktop-portal-kde
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
i18n = {
|
i18n = {
|
||||||
inputMethod = {
|
inputMethod = {
|
||||||
enabled = "ibus";
|
enabled = "ibus";
|
||||||
ibus.engines = with pkgs.ibus-engines; [anthy];
|
ibus.engines = with pkgs.ibus-engines; [ anthy ];
|
||||||
};
|
};
|
||||||
defaultLocale = "en_GB.UTF-8";
|
defaultLocale = "en_GB.UTF-8";
|
||||||
extraLocaleSettings = {
|
extraLocaleSettings = {
|
||||||
@@ -123,7 +112,7 @@
|
|||||||
layout = "cc1-thea";
|
layout = "cc1-thea";
|
||||||
extraLayouts.cc1-thea = {
|
extraLayouts.cc1-thea = {
|
||||||
description = "A CC1 optimized layout";
|
description = "A CC1 optimized layout";
|
||||||
languages = ["eng" "ger"];
|
languages = [ "eng" "ger" ];
|
||||||
symbolsFile = ../../modules/cc1-thea;
|
symbolsFile = ../../modules/cc1-thea;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -133,14 +122,11 @@
|
|||||||
# nautilus on non-gnome
|
# nautilus on non-gnome
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
# fix pinentry on non-gnome
|
# fix pinentry on non-gnome
|
||||||
services.dbus.packages = with pkgs; [gcr];
|
services.dbus.packages = with pkgs; [ gcr ];
|
||||||
services.gnome.gnome-online-accounts.enable = true;
|
services.gnome.gnome-online-accounts.enable = true;
|
||||||
services.gnome.evolution-data-server.enable = true;
|
services.gnome.evolution-data-server.enable = true;
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [
|
services.udev.packages = with pkgs; [ oversteer android-udev-rules ];
|
||||||
oversteer
|
|
||||||
android-udev-rules
|
|
||||||
];
|
|
||||||
|
|
||||||
virtualisation.docker.rootless = {
|
virtualisation.docker.rootless = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -149,7 +135,7 @@
|
|||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
services.getty.autologinUser = "${username}";
|
services.getty.autologinUser = "${username}";
|
||||||
services.getty.extraArgs = ["--noclear" "--noissue" "--nonewline"];
|
services.getty.extraArgs = [ "--noclear" "--noissue" "--nonewline" ];
|
||||||
services.getty.loginOptions = "-p -f -- \\u"; # preserve environment
|
services.getty.loginOptions = "-p -f -- \\u"; # preserve environment
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
@@ -160,7 +146,19 @@
|
|||||||
users.defaultUserShell = pkgs.fish;
|
users.defaultUserShell = pkgs.fish;
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = ["networkmanager" "wheel" "audio" "video" "dialout" "plugdev" "scanner" "lp" "input" "adbusers" "cdrom"];
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"audio"
|
||||||
|
"video"
|
||||||
|
"dialout"
|
||||||
|
"plugdev"
|
||||||
|
"scanner"
|
||||||
|
"lp"
|
||||||
|
"input"
|
||||||
|
"adbusers"
|
||||||
|
"cdrom"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
@@ -199,18 +197,18 @@
|
|||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
fira-code
|
fira-code
|
||||||
(nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono" "Noto" "NerdFontsSymbolsOnly"];})
|
(nerdfonts.override {
|
||||||
|
fonts = [ "FiraCode" "JetBrainsMono" "Noto" "NerdFontsSymbolsOnly" ];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
monospace = ["FiraCode Nerd Font"];
|
monospace = [ "FiraCode Nerd Font" ];
|
||||||
sansSerif = ["Noto Sans Nerd Font"];
|
sansSerif = [ "Noto Sans Nerd Font" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
localConf =
|
localConf =
|
||||||
/*
|
# xml
|
||||||
xml
|
|
||||||
*/
|
|
||||||
''
|
''
|
||||||
<match target="font">
|
<match target="font">
|
||||||
<test name="family" compare="contains">
|
<test name="family" compare="contains">
|
||||||
@@ -237,27 +235,25 @@
|
|||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
allowedTCPPorts = [8100 5037 5173];
|
allowedTCPPorts = [ 8100 5037 5173 ];
|
||||||
allowedUDPPorts = [50765];
|
allowedUDPPorts = [ 50765 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
networkmanager = {
|
networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [ networkmanager-openconnect ];
|
||||||
networkmanager-openconnect
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hosts = {
|
hosts = {
|
||||||
"192.168.0.219" = ["kookaborrow"];
|
"192.168.0.219" = [ "kookaborrow" ];
|
||||||
"192.168.0.1" = ["router"];
|
"192.168.0.1" = [ "router" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/media" = {
|
fileSystems."/mnt/media" = {
|
||||||
device = "kookaborrow:/media";
|
device = "kookaborrow:/media";
|
||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = ["x-systemd-automount" "noauto"];
|
options = [ "x-systemd-automount" "noauto" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/run/media/theaninova/heart-drive" = {
|
fileSystems."/run/media/theaninova/heart-drive" = {
|
||||||
|
|||||||
@@ -1,21 +1,14 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = [];
|
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/637f852b-e5bc-4bdb-a75e-886680bd52d2";
|
device = "/dev/disk/by-uuid/637f852b-e5bc-4bdb-a75e-886680bd52d2";
|
||||||
@@ -27,9 +20,8 @@
|
|||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices =
|
||||||
{device = "/dev/disk/by-uuid/b09fbba2-c97a-41bc-a3cd-8204e30204f8";}
|
[{ device = "/dev/disk/by-uuid/b09fbba2-c97a-41bc-a3cd-8204e30204f8"; }];
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
@@ -39,5 +31,6 @@
|
|||||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,16 @@
|
|||||||
{
|
{ config, lib, pkgs, ... }: {
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
driSupport32Bit = true;
|
driSupport32Bit = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [ libvdpau-va-gl nvidia-vaapi-driver ];
|
||||||
libvdpau-va-gl
|
|
||||||
nvidia-vaapi-driver
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
boot.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"];
|
boot.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
boot.initrd.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"];
|
boot.initrd.kernelModules =
|
||||||
|
[ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
|
|||||||
@@ -1,25 +1,19 @@
|
|||||||
{
|
{ pkgs, lib, config, ... }:
|
||||||
pkgs,
|
let cfg = config.hardware.gbmonctl;
|
||||||
lib,
|
in with lib; {
|
||||||
config,
|
options.hardware.gbmonctl = {
|
||||||
...
|
enable = mkOption {
|
||||||
}: let
|
type = types.bool;
|
||||||
cfg = config.hardware.gbmonctl;
|
default = false;
|
||||||
in
|
description = lib.mkDoc ''
|
||||||
with lib; {
|
Enables a CLI tool to change monitor settings over USB to the Gigabyte M32U
|
||||||
options.hardware.gbmonctl = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = lib.mkDoc ''
|
|
||||||
Enables a CLI tool to change monitor settings over USB to the Gigabyte M32U
|
|
||||||
|
|
||||||
In theory any Gigabyte Monitor that uses a Realtek HID device (presumably the M28U also uses this) to control it over OSD sidekick should have the same protocol, but this is the only one I own.
|
In theory any Gigabyte Monitor that uses a Realtek HID device (presumably the M28U also uses this) to control it over OSD sidekick should have the same protocol, but this is the only one I own.
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
};
|
};
|
||||||
config = lib.mkIf cfg.enable {
|
};
|
||||||
environment.systemPackages = [pkgs.gbmonctl];
|
config = lib.mkIf cfg.enable {
|
||||||
services.udev.packages = [pkgs.gbmonctl];
|
environment.systemPackages = [ pkgs.gbmonctl ];
|
||||||
};
|
services.udev.packages = [ pkgs.gbmonctl ];
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
{
|
{ pkgs, lib, config, ... }:
|
||||||
pkgs,
|
with lib;
|
||||||
lib,
|
let
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.hardware.hid-fanatecff;
|
cfg = config.hardware.hid-fanatecff;
|
||||||
kernel = config.boot.kernelPackages.kernel;
|
kernel = config.boot.kernelPackages.kernel;
|
||||||
fanatecKernelModule = pkgs.callPackage (import ./hid-fanatecff-module.nix) {kernel = kernel;};
|
fanatecKernelModule =
|
||||||
|
pkgs.callPackage (import ./hid-fanatecff-module.nix) { kernel = kernel; };
|
||||||
in {
|
in {
|
||||||
options.hardware.hid-fanatecff = {
|
options.hardware.hid-fanatecff = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
@@ -23,8 +20,8 @@ in {
|
|||||||
};
|
};
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
boot = {
|
boot = {
|
||||||
extraModulePackages = [fanatecKernelModule];
|
extraModulePackages = [ fanatecKernelModule ];
|
||||||
kernelModules = ["hid-fanatecff"];
|
kernelModules = [ "hid-fanatecff" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
{
|
{ lib, stdenv, kernel, fetchFromGitHub, }:
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
kernel,
|
|
||||||
fetchFromGitHub,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "hid-fanatecff";
|
pname = "hid-fanatecff";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
@@ -17,12 +12,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
|
|
||||||
makeFlags =
|
makeFlags = kernel.makeFlags ++ [
|
||||||
kernel.makeFlags
|
"KVERSION=${kernel.modDirVersion}"
|
||||||
++ [
|
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||||
"KVERSION=${kernel.modDirVersion}"
|
];
|
||||||
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
||||||
];
|
|
||||||
|
|
||||||
installFlags = [
|
installFlags = [
|
||||||
"-C"
|
"-C"
|
||||||
@@ -30,10 +23,11 @@ stdenv.mkDerivation rec {
|
|||||||
"M=${src}"
|
"M=${src}"
|
||||||
"INSTALL_MOD_PATH=${placeholder "out"}"
|
"INSTALL_MOD_PATH=${placeholder "out"}"
|
||||||
];
|
];
|
||||||
installTargets = ["modules_install"];
|
installTargets = [ "modules_install" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Linux kernel driver that aims to add support for FANATEC devices";
|
description =
|
||||||
|
"Linux kernel driver that aims to add support for FANATEC devices";
|
||||||
homepage = "https://github.com/gotzl/hid-fanatecff";
|
homepage = "https://github.com/gotzl/hid-fanatecff";
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
{
|
{ lib, pkgs, buildGoModule, fetchFromGitHub, hidapi, udev, }:
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
buildGoModule,
|
|
||||||
fetchFromGitHub,
|
|
||||||
hidapi,
|
|
||||||
udev,
|
|
||||||
}:
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gbmonctl";
|
pname = "gbmonctl";
|
||||||
version = "1d01a090";
|
version = "1d01a090";
|
||||||
@@ -16,14 +9,15 @@ buildGoModule rec {
|
|||||||
hash = "sha256-KeBdGtQWz9TBmk1HdXlkIs2r2aZ+EO8WhNaGbsFBBR8=";
|
hash = "sha256-KeBdGtQWz9TBmk1HdXlkIs2r2aZ+EO8WhNaGbsFBBR8=";
|
||||||
};
|
};
|
||||||
vendorHash = "sha256-cEqpEaX4eJ/6um9qbw/kzg9/vesOWmdiHzZ7IodVV9c=";
|
vendorHash = "sha256-cEqpEaX4eJ/6um9qbw/kzg9/vesOWmdiHzZ7IodVV9c=";
|
||||||
buildInputs = [hidapi udev];
|
buildInputs = [ hidapi udev ];
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/bin $out/lib/udev/rules.d
|
mkdir -p $out/bin $out/lib/udev/rules.d
|
||||||
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="1100", MODE="0666", TAG+="uaccess"' \
|
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="1100", MODE="0666", TAG+="uaccess"' \
|
||||||
> $out/lib/udev/rules.d/99-gigabyte-monitor.rules
|
> $out/lib/udev/rules.d/99-gigabyte-monitor.rules
|
||||||
'';
|
'';
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A CLI tool to change monitor settings over USB to the Gigabyte M32U";
|
description =
|
||||||
|
"A CLI tool to change monitor settings over USB to the Gigabyte M32U";
|
||||||
homepage = "https://github.com/kelvie/gbmonctl";
|
homepage = "https://github.com/kelvie/gbmonctl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
{
|
{ stdenv, fetchFromGitHub, glibc, lib, }:
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
glibc,
|
|
||||||
lib,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "lpc21isp";
|
name = "lpc21isp";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@@ -12,16 +7,17 @@ stdenv.mkDerivation {
|
|||||||
rev = "cf89d0b122ef02358e0f130b8f32cb804c11a54e";
|
rev = "cf89d0b122ef02358e0f130b8f32cb804c11a54e";
|
||||||
hash = "sha256-BZvtJMtVyqsCPVhp/QL5cXJY8Q25T/RzYzHMutE24hk=";
|
hash = "sha256-BZvtJMtVyqsCPVhp/QL5cXJY8Q25T/RzYzHMutE24hk=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [glibc.static];
|
nativeBuildInputs = [ glibc.static ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp lpc21isp $out/bin
|
cp lpc21isp $out/bin
|
||||||
'';
|
'';
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Portable command line ISP for NXP LPC family and Analog Devices ADUC70xx";
|
description =
|
||||||
|
"Portable command line ISP for NXP LPC family and Analog Devices ADUC70xx";
|
||||||
homepage = "https://github.com/capiman/lpc21isp";
|
homepage = "https://github.com/capiman/lpc21isp";
|
||||||
license = licenses.lgpl3Plus;
|
license = licenses.lgpl3Plus;
|
||||||
maintainers = [maintainers.theaninova];
|
maintainers = [ maintainers.theaninova ];
|
||||||
mainProgram = "lpc21isp";
|
mainProgram = "lpc21isp";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user