split modules and profiles
This commit is contained in:
parent
0e0fbd2f44
commit
cbf852ce45
53
flake.lock
generated
53
flake.lock
generated
@ -34,6 +34,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1620759905,
|
||||||
|
"narHash": "sha256-WiyWawrgmyN0EdmiHyG2V+fqReiVi8bM9cRdMaKQOFg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b543720b25df6ffdfcf9227afafc5b8c1fabfae8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -141,6 +156,25 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-direnv": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1631525216,
|
||||||
|
"narHash": "sha256-lNEEXpSJ0aRmqYkoyRhaofJXffxmPDXkZQgXZgQs0gI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-direnv",
|
||||||
|
"rev": "53c44ae33a453e2c9759cc81e028ca6a86f232d4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-direnv",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1623798125,
|
"lastModified": 1623798125,
|
||||||
@ -220,6 +254,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1622059058,
|
||||||
|
"narHash": "sha256-t1/ZMtyxClVSfcV4Pt5C1YpkeJ/UwFF3oitLD7Ch/UA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "84aa23742f6c72501f9cc209f29c438766f5352d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1631470189,
|
"lastModified": 1631470189,
|
||||||
"narHash": "sha256-hkUPYlpNOY9nbG1ByRin9NzPAYnPtwq/nGxO/DoeZd0=",
|
"narHash": "sha256-hkUPYlpNOY9nbG1ByRin9NzPAYnPtwq/nGxO/DoeZd0=",
|
||||||
@ -260,7 +310,8 @@
|
|||||||
"materia-theme": "materia-theme",
|
"materia-theme": "materia-theme",
|
||||||
"multimc-cracked": "multimc-cracked",
|
"multimc-cracked": "multimc-cracked",
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nix-direnv": "nix-direnv",
|
||||||
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nixpkgs-mozilla": "nixpkgs-mozilla",
|
"nixpkgs-mozilla": "nixpkgs-mozilla",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
109
flake.nix
109
flake.nix
@ -2,47 +2,47 @@
|
|||||||
description = "System configuration";
|
description = "System configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-master.url = github:nixos/nixpkgs/master;
|
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||||
nixpkgs-stable.url = github:nixos/nixpkgs/nixos-21.05;
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-21.05";
|
||||||
home-manager.url = github:nix-community/home-manager;
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# base16.url = "/shared/nixos/base16-nix";
|
# base16.url = "/shared/nixos/base16-nix";
|
||||||
base16.url = github:alukardbf/base16-nix;
|
base16.url = "github:alukardbf/base16-nix";
|
||||||
base16-horizon-scheme = {
|
base16-horizon-scheme = {
|
||||||
url = github:michael-ball/base16-horizon-scheme;
|
url = "github:michael-ball/base16-horizon-scheme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
materia-theme = {
|
materia-theme = {
|
||||||
url = github:nana-4/materia-theme;
|
url = "github:nana-4/materia-theme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
zsh-autosuggestions = {
|
zsh-autosuggestions = {
|
||||||
url = github:zsh-users/zsh-autosuggestions;
|
url = "github:zsh-users/zsh-autosuggestions";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
zsh-nix-shell = {
|
zsh-nix-shell = {
|
||||||
url = github:chisui/zsh-nix-shell;
|
url = "github:chisui/zsh-nix-shell";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
zsh-you-should-use = {
|
zsh-you-should-use = {
|
||||||
url = github:MichaelAquilina/zsh-you-should-use;
|
url = "github:MichaelAquilina/zsh-you-should-use";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
zsh-cod = {
|
zsh-cod = {
|
||||||
url = github:dim-an/cod;
|
url = "github:dim-an/cod";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
i3lock-fancy-rapid = {
|
i3lock-fancy-rapid = {
|
||||||
url = github:yvbbrjdr/i3lock-fancy-rapid;
|
url = "github:yvbbrjdr/i3lock-fancy-rapid";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nixpkgs-mozilla = {
|
nixpkgs-mozilla = {
|
||||||
url = github:mozilla/nixpkgs-mozilla;
|
url = "github:mozilla/nixpkgs-mozilla";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
rycee = {
|
rycee = {
|
||||||
url = gitlab:rycee/nur-expressions;
|
url = "gitlab:rycee/nur-expressions";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
multimc-cracked = {
|
multimc-cracked = {
|
||||||
@ -54,42 +54,63 @@
|
|||||||
type = "git";
|
type = "git";
|
||||||
};
|
};
|
||||||
qbittorrent-ee = {
|
qbittorrent-ee = {
|
||||||
url = github:c0re100/qBittorrent-Enhanced-Edition;
|
url = "github:c0re100/qBittorrent-Enhanced-Edition";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
nix-direnv.url = "github:nix-community/nix-direnv";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, nix, self, ... }@inputs: {
|
outputs = { nixpkgs, nix, self, ... }@inputs:
|
||||||
nixosModules = import ./modules;
|
let
|
||||||
|
findModules = dir:
|
||||||
|
builtins.concatLists (builtins.attrValues (builtins.mapAttrs
|
||||||
|
(name: type:
|
||||||
|
if type == "regular" then
|
||||||
|
[{
|
||||||
|
name = builtins.elemAt (builtins.match "(.*)\\.nix" name) 0;
|
||||||
|
value = dir + "/${name}";
|
||||||
|
}]
|
||||||
|
else if (builtins.readDir (dir + "/${name}"))
|
||||||
|
? "default.nix" then [{
|
||||||
|
inherit name;
|
||||||
|
value = dir + "/${name}";
|
||||||
|
}] else
|
||||||
|
findModules (dir + "/${name}"))
|
||||||
|
(builtins.readDir dir)));
|
||||||
|
in {
|
||||||
|
nixosModules = builtins.listToAttrs (findModules ./modules);
|
||||||
|
|
||||||
nixosProfiles = import ./profiles;
|
nixosProfiles = builtins.listToAttrs (findModules ./profiles);
|
||||||
# Generate system config for each of hardware configuration
|
|
||||||
nixosConfigurations = with nixpkgs.lib;
|
|
||||||
let
|
|
||||||
hosts = builtins.attrNames (builtins.readDir ./machines);
|
|
||||||
mkHost = name: let
|
|
||||||
system = builtins.readFile (./machines + "/${name}/system");
|
|
||||||
modules = [ (import (./machines + "/${name}")) { device = name; } ];
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
in nixosSystem { inherit system modules specialArgs; };
|
|
||||||
in genAttrs hosts mkHost;
|
|
||||||
|
|
||||||
legacyPackages.x86_64-linux =
|
nixosRoles = import ./roles;
|
||||||
(builtins.head (builtins.attrValues self.nixosConfigurations)).pkgs;
|
# Generate system config for each of hardware configuration
|
||||||
|
nixosConfigurations = with nixpkgs.lib;
|
||||||
|
let
|
||||||
|
hosts = builtins.attrNames (builtins.readDir ./machines);
|
||||||
|
mkHost = name:
|
||||||
|
nixosSystem {
|
||||||
|
system = builtins.readFile (./machines + "/${name}/system");
|
||||||
|
modules = [ (import (./machines + "/${name}")) { device = name; } ];
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
};
|
||||||
|
in genAttrs hosts mkHost;
|
||||||
|
|
||||||
devShell.x86_64-linux = let
|
legacyPackages.x86_64-linux =
|
||||||
pkgs = self.legacyPackages.x86_64-linux;
|
(builtins.head (builtins.attrValues self.nixosConfigurations)).pkgs;
|
||||||
rebuild = pkgs.writeShellScriptBin "rebuild" ''
|
|
||||||
if [[ -z $1 ]]; then
|
devShell.x86_64-linux = let
|
||||||
echo "Usage: $(basename $0) {switch|boot|test}"
|
pkgs = self.legacyPackages.x86_64-linux;
|
||||||
elif [[ $1 = "iso" ]]; then
|
rebuild = pkgs.writeShellScriptBin "rebuild" ''
|
||||||
nix build .#nixosConfigurations.Flakes-ISO.config.system.build.isoImage
|
if [[ -z $1 ]]; then
|
||||||
else
|
echo "Usage: $(basename $0) {switch|boot|test}"
|
||||||
sudo nixos-rebuild $1 --flake .
|
elif [[ $1 = "iso" ]]; then
|
||||||
fi
|
nix build .#nixosConfigurations.Flakes-ISO.config.system.build.isoImage
|
||||||
'';
|
else
|
||||||
in pkgs.mkShell {
|
sudo nixos-rebuild $1 --flake .
|
||||||
nativeBuildInputs = [ rebuild ];
|
fi
|
||||||
|
'';
|
||||||
|
in pkgs.mkShell {
|
||||||
|
nativeBuildInputs = [ rebuild ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ inputs, lib, ... }: {
|
{ inputs, lib, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.self.nixosProfiles.desktop
|
inputs.self.nixosRoles.desktop
|
||||||
];
|
];
|
||||||
|
|
||||||
deviceSpecific.devInfo = {
|
deviceSpecific.devInfo = {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ inputs, config, pkgs, ... }: {
|
{ inputs, config, pkgs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.self.nixosProfiles.desktop
|
inputs.self.nixosRoles.desktop
|
||||||
];
|
];
|
||||||
|
|
||||||
deviceSpecific.devInfo = {
|
deviceSpecific.devInfo = {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ modulesPath, lib, inputs, pkgs, ... }: {
|
{ modulesPath, lib, inputs, pkgs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; [
|
||||||
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
|
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
|
||||||
inputs.self.nixosProfiles.base
|
inputs.self.nixosRoles.base
|
||||||
inputs.base16.hmModule
|
inputs.base16.hmModule
|
||||||
|
|
||||||
alacritty
|
alacritty
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.self.nixosProfiles.desktop
|
inputs.self.nixosRoles.desktop
|
||||||
];
|
];
|
||||||
|
|
||||||
deviceSpecific.devInfo = {
|
deviceSpecific.devInfo = {
|
||||||
|
Binary file not shown.
@ -1,51 +0,0 @@
|
|||||||
[CherryBlossom]
|
|
||||||
main_fg = d98ba1
|
|
||||||
secondary_fg = 816e7c
|
|
||||||
main_bg = 131c26
|
|
||||||
sidebar_and_player_bg = 131c26
|
|
||||||
|
|
||||||
#tl_selected_hover = EEEEEE
|
|
||||||
|
|
||||||
cover_overlay_and_shadow = 816e7c
|
|
||||||
indicator_fg_and_button_bg = d98ba1
|
|
||||||
pressing_fg = d98ba1
|
|
||||||
slider_bg = 131c26
|
|
||||||
sidebar_indicator_and_hover_button_bg = d98ba1
|
|
||||||
scrollbar_fg_and_selected_row_bg = 131c26
|
|
||||||
pressing_button_fg = 816e7c
|
|
||||||
pressing_button_bg = d98ba1
|
|
||||||
selected_button = 816e7c
|
|
||||||
miscellaneous_bg = 131c26
|
|
||||||
miscellaneous_hover_bg = 131c26
|
|
||||||
preserve_1 = 131c26
|
|
||||||
|
|
||||||
[Coral]
|
|
||||||
main_fg = f88379
|
|
||||||
secondary_fg = 8c92ac
|
|
||||||
main_bg = 1d1f28
|
|
||||||
sidebar_and_player_bg = 1d1f28
|
|
||||||
|
|
||||||
#tl_selected_hover = EEEEEE
|
|
||||||
|
|
||||||
cover_overlay_and_shadow = 8c92ac
|
|
||||||
indicator_fg_and_button_bg = f88379
|
|
||||||
pressing_fg = f88379
|
|
||||||
slider_bg = 1d1f28
|
|
||||||
sidebar_indicator_and_hover_button_bg = f88379
|
|
||||||
scrollbar_fg_and_selected_row_bg = 1d1f28
|
|
||||||
pressing_button_fg = 8c92ac
|
|
||||||
pressing_button_bg = f88379
|
|
||||||
selected_button = 8c92ac
|
|
||||||
miscellaneous_bg = 1d1f28
|
|
||||||
miscellaneous_hover_bg = 1d1f28
|
|
||||||
preserve_1 = 1d1f28
|
|
||||||
|
|
||||||
|
|
||||||
#Greyish Pink = #c79da9
|
|
||||||
#Purplish grey = #816e7c
|
|
||||||
#Very dark (mostly black) blue = #131c26
|
|
||||||
|
|
||||||
#NEED TO DO
|
|
||||||
#corner radius when hovering to edit playlist image
|
|
||||||
#downloaded status is fully colored
|
|
||||||
#connect to device shadow
|
|
@ -1,647 +0,0 @@
|
|||||||
:root {
|
|
||||||
--bar-height: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Round corner cover image*/
|
|
||||||
.card-image,
|
|
||||||
.card-placeholder-wrapper,
|
|
||||||
.card-image-content-wrapper,
|
|
||||||
.Card:not(.Card--artist) .Card__image,
|
|
||||||
.Card:not(.Card--artist) .Card__image-wrapper {
|
|
||||||
border-radius: 10px !important;
|
|
||||||
overflow: hidden !important
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Hide some annoying elements like profile name and pic, upgrade button and device connect bar at bottom, new playlist button*/
|
|
||||||
.profile.content-top-bar__profile-link,
|
|
||||||
.upgrade-button,
|
|
||||||
.view-player .remote-playback-bar,
|
|
||||||
.NewPlaylistButton {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*Exclude these elements from draggable property because it stops them from clickable*/
|
|
||||||
.profile-items-container,
|
|
||||||
.profile {
|
|
||||||
-webkit-app-region: no-drag !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Thinner scrollbar*/
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
height: 6px !important;
|
|
||||||
width: 6px !important;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Round corner scrollbar*/
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
border-radius: 3px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Hide top and bottom buttons of scrollbar */
|
|
||||||
/*who uses those, lol*/
|
|
||||||
::-webkit-scrollbar-button {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Hide cover image overlay*/
|
|
||||||
.card-overlay {
|
|
||||||
visibility: hidden !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Lift up cover when hovering on it*/
|
|
||||||
.card-image-content-wrapper,
|
|
||||||
.Card:not(.Card--artist) .Card__image-wrapper {
|
|
||||||
transition-property: transform, box-shadow !important;
|
|
||||||
transition-duration: 1s !important;
|
|
||||||
transition-timing-function: cubic-bezier(.3,0,0,1) !important;
|
|
||||||
box-shadow: 0 5px 20px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-image-hit-area:not(.no-hover):hover .card-image-content-wrapper,
|
|
||||||
.Card:not(.Card--artist) .Card__image-hit-area-counter-scale:hover .Card__image-wrapper {
|
|
||||||
transform: translateY(-10px);
|
|
||||||
box-shadow: 0 15px 30px rgba(0,0,0,0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-image-hit-area .card-button-add,
|
|
||||||
.card-image-hit-area .card-button-play,
|
|
||||||
.card-image-hit-area .card-button-more,
|
|
||||||
.Card__image-hit-area .card-button-add,
|
|
||||||
.Card__image-hit-area .card-button-play,
|
|
||||||
.Card__image-hit-area .card-button-more,
|
|
||||||
.Card__image-hit-area .Card__play-button,
|
|
||||||
.Card__image-hit-area .Card__add-button,
|
|
||||||
.Card__image-hit-area .Card__more-button,
|
|
||||||
.Card__image-hit-area .Card__overlay {
|
|
||||||
transition-property: all !important;
|
|
||||||
transition-duration: 1s !important;
|
|
||||||
transition-timing-function: cubic-bezier(.3,0,0,1) !important;
|
|
||||||
opacity: 0 !important;
|
|
||||||
}
|
|
||||||
.card-image-hit-area:not(.no-hover):hover .card-button-add,
|
|
||||||
.card-image-hit-area:not(.no-hover):hover .card-button-play,
|
|
||||||
.card-image-hit-area:not(.no-hover):hover .card-button-more,
|
|
||||||
.Card__image-hit-area:not(.no-hover):hover .card-button-add,
|
|
||||||
.Card__image-hit-area:not(.no-hover):hover .card-button-play,
|
|
||||||
.Card__image-hit-area:not(.no-hover):hover .card-button-more {
|
|
||||||
opacity: 1 !important;
|
|
||||||
transform: translateY(-10px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.Card__image-hit-area:hover .Card__play-button,
|
|
||||||
.Card__image-hit-area:hover .Card__add-button,
|
|
||||||
.Card__image-hit-area:hover .Card__more-button,
|
|
||||||
.Card__image-hit-area:hover .Card__overlay {
|
|
||||||
opacity: 1 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__content .glue-page-header__image-inner {
|
|
||||||
border-radius: 10px;
|
|
||||||
box-shadow: unset !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__full-description-overlay {
|
|
||||||
box-shadow: unset !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-placeholder-wrapper {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Spice up search input background*/
|
|
||||||
.SearchInput {
|
|
||||||
color: var(--modspotify_main_fg);
|
|
||||||
}
|
|
||||||
.SearchInput__input {
|
|
||||||
color: var(--modspotify_secondary_fg);
|
|
||||||
background-color: rgba(var(--modspotify_rgb_scrollbar_fg_and_selected_row_bg), 0.5) !important;
|
|
||||||
border-radius: 4px !important;
|
|
||||||
padding-left: 34px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar:hover .sidebar-navbar.sidebar-scroll-element {
|
|
||||||
opacity: 1!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container,
|
|
||||||
.view-player .player-controls-container .controls {
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container .controls .button-play{
|
|
||||||
height:50px !important;
|
|
||||||
border-radius:50px !important;
|
|
||||||
background: transparent !important;
|
|
||||||
box-shadow:0 0 0 0 !important;
|
|
||||||
width:50px !important;
|
|
||||||
overflow: visible !important;
|
|
||||||
box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
|
|
||||||
transition:none 0.3s cubic-bezier(.3,0,.7,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container .controls .button-play:before{
|
|
||||||
font-size:18px !important;
|
|
||||||
padding-left: 16px !important;
|
|
||||||
padding-top: 9px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container .controls .button-play:after {
|
|
||||||
box-shadow: unset !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container {
|
|
||||||
position: absolute !important;
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .player-controls-container .controls {
|
|
||||||
width: 100% !important;
|
|
||||||
height: 100% !important;
|
|
||||||
align-items: center !important;
|
|
||||||
margin-top : 0px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Hide the song duration and elapsed text. I dont know where to put those so I just hide them
|
|
||||||
*/
|
|
||||||
.view-player .player-controls-container .progress-container .elapsed,
|
|
||||||
.view-player .player-controls-container .progress-container .remaining {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add round corner for Gerne and Mood cards */
|
|
||||||
.gc-image-container,
|
|
||||||
.gc-image {
|
|
||||||
border-radius: 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Collage of 3 album covers is usually seen in Browse and Chart.
|
|
||||||
*/
|
|
||||||
.card-puff__image-wrapper,
|
|
||||||
.card-puff__info-container,
|
|
||||||
.card-puff__card-image {
|
|
||||||
border-radius: 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff__image-wrapper {
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff__card-image {
|
|
||||||
box-shadow: 5px 0 30px rgba(0,0,0,0.7);
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff__title-container {
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff.pressed .card-puff__image-wrapper,
|
|
||||||
.card-puff.pressed .card-puff__info-container {
|
|
||||||
opacity: 0.7 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff__title {
|
|
||||||
padding: 5px 10px 5px 10px !important;
|
|
||||||
background-color: var(--modspotify_main_bg) !important;
|
|
||||||
border-radius: 4px;
|
|
||||||
border: 2px solid var(--modspotify_main_fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
We use round corner on cover so they look weird in original
|
|
||||||
form, so I move last cover to the right 20px and first one to the left 20px
|
|
||||||
*/
|
|
||||||
.card-puff__card-image:nth-child(1) {
|
|
||||||
right: 20px;
|
|
||||||
box-shadow: 0 0 0 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-puff__card-image:nth-child(3) {
|
|
||||||
left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid-overlay-label {
|
|
||||||
top: 140px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**/
|
|
||||||
.glue-page-header__background-color {
|
|
||||||
background-image: none !important;
|
|
||||||
background: var(--modspotify_main_bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .glue-page-header__sticky {
|
|
||||||
padding-top: 60px !important;
|
|
||||||
} */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Remove those title, cringy description and
|
|
||||||
meaningless followers number
|
|
||||||
*/
|
|
||||||
|
|
||||||
.carousel .card-info-subtitle-description,
|
|
||||||
.carousel .card-info-subtitle-metadata,
|
|
||||||
.carousel .card:not(.card-type-station).card-info-title,
|
|
||||||
.carousel .card.card-type-playlist.image-loaded .card-info-subtitle-description,
|
|
||||||
.carousel .card.card-type-playlist.image-loaded .card-info-subtitle-metadata {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
In top of Browse usually has bunch of Playlist or Album cards,
|
|
||||||
and they has .carousel as a wrapper and it hides anything that
|
|
||||||
overflows from its zone, aka our shadow and lifting animation.
|
|
||||||
*/
|
|
||||||
.carousel {
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Button with text Play
|
|
||||||
*/
|
|
||||||
.button.button-green,
|
|
||||||
.GlueButton.GlueButton--style-green {
|
|
||||||
color: var(--modspotify_main_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Change text color in playlist
|
|
||||||
*/
|
|
||||||
.tl-explicit .label,
|
|
||||||
.tl-premium .label,
|
|
||||||
.tl-cell:not(.tl-number),
|
|
||||||
.tl-cell a:link,
|
|
||||||
.tl-highlight {
|
|
||||||
color: var(--modspotify_secondary_fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-type-album .card-info-title,
|
|
||||||
.card-type-track .card-info-title,
|
|
||||||
.card-type-collection-album .card-info-title,
|
|
||||||
.card-type-episode .card-info-title {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 900 !important;
|
|
||||||
text-align: center !important;
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-type-album .card-info-subtitle-links,
|
|
||||||
.card-type-track .card-info-subtitle-links,
|
|
||||||
.card-type-collection-album .card-info-subtitle-links,
|
|
||||||
.card-type-episode .card-info-subtitle-links {
|
|
||||||
text-align: center !important;
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tracklist-station-container::after {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.GlueHeader__background-overlay {
|
|
||||||
background: var(--modspotify_main_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Move navigation buttons and search field to the right and down */
|
|
||||||
.browser-navigation-top-bar {
|
|
||||||
margin-left: 40px !important;
|
|
||||||
margin-top: 15px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.SearchInput__input,
|
|
||||||
.SearchInput__searchIcon,
|
|
||||||
.SearchInput__clearButton {
|
|
||||||
margin-top: 15px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-top-bar__profile-menu-button {
|
|
||||||
margin-top: 15px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.body-container--windows:not(.with-buddy-list):not(.messagebar) .content-top-bar__profile {
|
|
||||||
margin-right: 110px !important;
|
|
||||||
margin-top: -5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Spice up Fullscreen mode */
|
|
||||||
#view-player .album-art .album-art__image {
|
|
||||||
border-radius: 30px !important;
|
|
||||||
box-shadow: 0 10px 70px rgba(var(--modspotify_rgb_cover_overlay_and_shadow),.5) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#view-player .album-art .album-art__image .card-image-content-wrapper,
|
|
||||||
#view-player .album-art .album-art__image .card-image-content-wrapper .card-image {
|
|
||||||
border-radius: 30px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Daily mixes */
|
|
||||||
.carousel .card-info-wrapper.card-info-with-description.card-info-with-metadata {
|
|
||||||
height: 50px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Remove section divider */
|
|
||||||
.section-divider {
|
|
||||||
border-bottom: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Adjust Position of border active tab in Nav bar at top
|
|
||||||
and add little glowing effect
|
|
||||||
*/
|
|
||||||
.nav.navbar-nav {
|
|
||||||
overflow: hidden !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav.navbar-nav a {
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav.navbar-nav a::after {
|
|
||||||
bottom: 0px !important;
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav.navbar-nav .active a::after{
|
|
||||||
box-shadow: 0 0px 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav.navbar-nav a:focus:not(.button):active::after{
|
|
||||||
background-color: var(--modspotify_pressing_fg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Notification bar */
|
|
||||||
#content-wrapper #view-message-bar {
|
|
||||||
position: absolute !important;
|
|
||||||
width: calc(100% - 160px) !important;
|
|
||||||
margin-left: 80px !important;
|
|
||||||
border-radius: 0 0 10px 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Small cover Big cover mechanism */
|
|
||||||
.now-playing.cover-size-transition.active.image-expanded .cover-image {
|
|
||||||
width: 10px !important;
|
|
||||||
height: 10px !important;
|
|
||||||
}
|
|
||||||
.now-playing.cover-size-transition.active.image-expanded .caption {
|
|
||||||
padding-left: 0px !important;
|
|
||||||
}
|
|
||||||
#view-now-playing a.image {
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#view-now-playing.expanded {
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#now-playing-image-large .cover-image {
|
|
||||||
height: 200px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Profile arrow in top left */
|
|
||||||
.content-top-bar__profile-menu-button .dropdown {
|
|
||||||
position: fixed !important;
|
|
||||||
top: 10px !important;
|
|
||||||
-webkit-app-region: no-drag !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.body-container--windows .content-top-bar__profile-menu-button .dropdown {
|
|
||||||
right: 190px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body:not(.body-container--windows) .content-top-bar__profile-menu-button .dropdown {
|
|
||||||
right: 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Small tooltip */
|
|
||||||
#tooltip {
|
|
||||||
box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
|
|
||||||
border-radius: 5px !important;
|
|
||||||
border: 2px solid var(--modspotify_main_fg);
|
|
||||||
padding: 10px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tooltip-arrow-top, .tooltip-arrow-bottom {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lyrics-lines-container,
|
|
||||||
.message-container {
|
|
||||||
color: #FFFFFF !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Home page */
|
|
||||||
.GlueCarousel__grid-wrapper::-webkit-scrollbar-thumb {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.GlueCard__info-wrapper,
|
|
||||||
.Card__info-wrapper {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-horizontal-interior-wrapper .card-info-title {
|
|
||||||
text-align: start !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl-row.selected:hover .tl-cell {
|
|
||||||
background: var(--modspotify_scrollbar_fg_and_selected_row_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.GlueTableRow--is-selected {
|
|
||||||
background-color: var(--modspotify_scrollbar_fg_and_selected_row_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tracklist-podcast .tl-progress .row-progress__bar {
|
|
||||||
background-color: var(--modspotify_main_fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.Header__background-color{
|
|
||||||
background-color: var(--modspotify_main_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Button--style-green,
|
|
||||||
.button.button-green, .button.button-white {
|
|
||||||
border-radius: 4px;
|
|
||||||
color: var(--modspotify_main_bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header:not(.glue-page-header--album):not(.glue-page-header--playlist):not(.glue-page-header--artist):not(.glue-page-header--dailymix):not(.glue-page-header--user):not(.glue-page-header--show)
|
|
||||||
.glue-page-header__content-inner .glue-page-header__title-text,
|
|
||||||
.HomeHeader .Header__content-inner .Header__title-text-inner,
|
|
||||||
.MadeForYouHeader .Header__content-inner .Header__title-text-inner,
|
|
||||||
.RecentlyPlayedPage__header .Header__content-inner .Header__title-text-inner {
|
|
||||||
background-color: var(--modspotify_main_bg);
|
|
||||||
padding: 5px 20px;
|
|
||||||
border: 5px solid var(--modspotify_main_fg) !important;
|
|
||||||
border-radius: 6px;
|
|
||||||
box-shadow: 0 4px 12px 0 rgba(var(--modspotify_rgb_cover_overlay_and_shadow),.2);
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header.glue-page-header--album .glue-page-header__content-inner .glue-page-header__title,
|
|
||||||
.glue-page-header.glue-page-header--artist .glue-page-header__content-inner .glue-page-header__title,
|
|
||||||
.glue-page-header.glue-page-header--dailymix .glue-page-header__content-inner .glue-page-header__title,
|
|
||||||
.glue-page-header.glue-page-header--playlist .glue-page-header__content-inner .glue-page-header__title {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.glue-page-header__title-text {
|
|
||||||
color: var(--modspotify_main_fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header .glue-page-header__content-inner .glue-page-header__button {
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__content-inner,
|
|
||||||
.glue-page-header__data,
|
|
||||||
.glue-page-header__title,
|
|
||||||
.Header__content-inner,
|
|
||||||
.Header__data,
|
|
||||||
.Header__title,
|
|
||||||
.Header__title-text,
|
|
||||||
.Header__title-text-inner {
|
|
||||||
overflow: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Force player bar to has fixed height*/
|
|
||||||
.view-player {
|
|
||||||
height: var(--bar-height) !important;
|
|
||||||
border-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .now-playing {
|
|
||||||
overflow: unset;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .now-playing .cover-image-link,
|
|
||||||
.view-player .now-playing .cover-image-link figure {
|
|
||||||
width: var(--bar-height);
|
|
||||||
height: var(--bar-height);
|
|
||||||
}
|
|
||||||
|
|
||||||
#now-playing-image-small .cover-image {
|
|
||||||
position: fixed !important;
|
|
||||||
width: var(--bar-height);
|
|
||||||
height: var(--bar-height);
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .now-playing .cover-image-link-wrapper {
|
|
||||||
flex: 0 1 calc(var(--bar-height) + 10px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-container {
|
|
||||||
z-index: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.view-player .now-playing-container .button-add {
|
|
||||||
color: var(--modspotify_main_fg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-container .progress-bar,
|
|
||||||
.progress-container .inner {
|
|
||||||
top: 0 !important;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
height: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-container .progress-bar-wrapper {
|
|
||||||
top: 0 !important;
|
|
||||||
height: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-container {
|
|
||||||
position: fixed !important;
|
|
||||||
width: 100% !important;
|
|
||||||
bottom: var(--bar-height) !important;
|
|
||||||
margin : 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-container .inner {
|
|
||||||
border-radius: 0 2px 2px 0 !important;
|
|
||||||
background-color: var(--modspotify_main_fg) !important;
|
|
||||||
box-shadow: 0 2px 2px 0 var(--modspotify_main_fg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__p2s-details,
|
|
||||||
.glue-page-header__p2s-followers {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.context-menu {
|
|
||||||
border: 2px solid var(--modspotify_main_fg);
|
|
||||||
box-shadow: 0 4px 12px 0 rgba(var(--modspotify_rgb_cover_overlay_and_shadow),.2);
|
|
||||||
border-radius: 7px !important;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-wrapper ::-webkit-scrollbar {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-wrapper {
|
|
||||||
border-right: 3px solid black;
|
|
||||||
border-image: linear-gradient(0deg, transparent , var(--modspotify_scrollbar_fg_and_selected_row_bg) 40%, var(--modspotify_scrollbar_fg_and_selected_row_bg) 60%, transparent 90%) 2 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-view-wrapper {
|
|
||||||
overflow: unset;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Button--style-icon-stroke:after,
|
|
||||||
.Button--style-icon-stroke:hover:after,
|
|
||||||
.Button--style-icon-stroke,
|
|
||||||
.glue-page-header__button .button-icon-with-stroke,
|
|
||||||
.glue-page-header__button .button-icon-with-stroke::after {
|
|
||||||
box-shadow: unset;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header.glue-page-header--artist .glue-page-header__label {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header.glue-page-header--artist.has-custom-image .glue-page-header__label {
|
|
||||||
padding-top: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__content .glue-page-header__label {
|
|
||||||
margin-left: -2px;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__label span,
|
|
||||||
.Header__label span {
|
|
||||||
background-color: var(--modspotify_main_fg);
|
|
||||||
color: var(--modspotify_main_bg);
|
|
||||||
padding: 2px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.glue-page-header__label .header-verified-check {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.remotebar .view-player .player-bar-wrapper {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.SidebarListItem--is-active:after,
|
|
||||||
.RootlistItem--is-active:after,
|
|
||||||
/* For Linux */ #view-navigation-bar .item.active:after {
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: linear-gradient(90deg, var(--modspotify_sidebar_indicator_and_hover_button_bg) , transparent);
|
|
||||||
opacity: 0.2;
|
|
||||||
bottom: unset;
|
|
||||||
top: 5%;
|
|
||||||
height: 90%;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.Header__image-inner {
|
|
||||||
box-shadow: unset;
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
let
|
|
||||||
findModules = dir:
|
|
||||||
builtins.concatLists (builtins.attrValues (builtins.mapAttrs (name: type:
|
|
||||||
if type == "regular" then
|
|
||||||
(if name == "default.nix" then
|
|
||||||
[ ]
|
|
||||||
else [{
|
|
||||||
name = builtins.elemAt (builtins.match "(.*)\\.nix" name) 0;
|
|
||||||
value = dir + "/${name}";
|
|
||||||
}])
|
|
||||||
else if (builtins.readDir (dir + "/${name}")) ? "default.nix" then [{
|
|
||||||
inherit name;
|
|
||||||
value = dir + "/${name}";
|
|
||||||
}] else
|
|
||||||
findModules (dir + "/${name}")) (builtins.readDir dir)));
|
|
||||||
|
|
||||||
in builtins.listToAttrs (findModules ./.)
|
|
@ -65,7 +65,12 @@ let
|
|||||||
else
|
else
|
||||||
echo "Failed to decrypt the secret"
|
echo "Failed to decrypt the secret"
|
||||||
rm '${decrypted}.tmp'
|
rm '${decrypted}.tmp'
|
||||||
exit 1
|
if [[ -f '${decrypted}' ]]; then
|
||||||
|
echo "The decrypted file exists anyways, not failing"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"device": "alsa_output.pci-0000_00_1f.3.analog-stereo",
|
|
||||||
"device-profile": "output:analog-stereo+input:analog-stereo",
|
|
||||||
"preset-name": "HE4XX"
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"device": "bluez_output.D8_37_3B_60_5D_55.a2dp-sink",
|
|
||||||
"device-profile": "a2dp-sink-aac",
|
|
||||||
"preset-name": "Bluetooth"
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.deviceSpecific.wireguard;
|
|
||||||
kernel = config.boot.kernelPackages;
|
|
||||||
in {
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
|
|
||||||
networking.firewall.checkReversePath = "loose";
|
|
||||||
environment.systemPackages = [ pkgs.wireguard-tools pkgs.mullvad-vpn ];
|
|
||||||
services.mullvad-vpn.enable = true;
|
|
||||||
startupApplications = [ "${pkgs.mullvad-vpn}/share/mullvad/mullvad-gui" ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
|
||||||
home-manager.users.alukard = {
|
|
||||||
|
|
||||||
programs.command-not-found = {
|
|
||||||
enable = true;
|
|
||||||
dbPath = ../../misc/programs.sqlite;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
NIX_AUTO_RUN = "1";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,119 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfgC = config.services.barrier.client;
|
|
||||||
cfgS = config.services.barrier.server;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
services.barrier = {
|
|
||||||
client = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
description = "
|
|
||||||
Whether to enable the Barrier client (receive keyboard and mouse events from a Barrier server).
|
|
||||||
";
|
|
||||||
};
|
|
||||||
screenName = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Use the given name instead of the hostname to identify
|
|
||||||
ourselves to the server.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
serverAddress = mkOption {
|
|
||||||
description = ''
|
|
||||||
The server address is of the form: [hostname][:port]. The
|
|
||||||
hostname must be the address or hostname of the server. The
|
|
||||||
port overrides the default port, 24800.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
autoStart = mkOption {
|
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
|
||||||
description = "Whether the Barrier client should be started automatically.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
server = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to enable the Barrier server (send keyboard and mouse events).
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
configFile = mkOption {
|
|
||||||
default = "/etc/barrier-server.conf";
|
|
||||||
description = "The Barrier server configuration file.";
|
|
||||||
};
|
|
||||||
screenName = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Use the given name instead of the hostname to identify
|
|
||||||
this screen in the configuration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
address = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = "Address on which to listen for clients.";
|
|
||||||
};
|
|
||||||
autoStart = mkOption {
|
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
|
||||||
description = "Whether the Barrier server should be started automatically.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkMerge [
|
|
||||||
(mkIf cfgC.enable {
|
|
||||||
systemd.user.services."barrier-client" = {
|
|
||||||
after = [ "network.target" "graphical-session.target" ];
|
|
||||||
description = "Barrier client";
|
|
||||||
wantedBy = optional cfgC.autoStart "graphical-session.target";
|
|
||||||
path = [ pkgs.barrier ];
|
|
||||||
serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barrierc -f ${optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}'';
|
|
||||||
serviceConfig.Restart = "on-failure";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
(mkIf cfgS.enable {
|
|
||||||
systemd.user.services."barrier-server" = {
|
|
||||||
after = [ "network.target" "graphical-session.target" ];
|
|
||||||
description = "Barrier server";
|
|
||||||
wantedBy = optional cfgS.autoStart "graphical-session.target";
|
|
||||||
path = [ pkgs.barrier ];
|
|
||||||
serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barriers -c ${cfgS.configFile} -f ${optionalString (cfgS.address != "") "-a ${cfgS.address}"} ${optionalString (cfgS.screenName != "") "-n ${cfgS.screenName}" }'';
|
|
||||||
serviceConfig.Restart = "on-failure";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
({
|
|
||||||
services.barrier = if config.device == "AMD-Workstation" then {
|
|
||||||
server.enable = true;
|
|
||||||
server.autoStart = true;
|
|
||||||
server.configFile = pkgs.writeTextFile {
|
|
||||||
name = "barrier.conf";
|
|
||||||
text = ''
|
|
||||||
section: screens
|
|
||||||
ataraxia-pc:
|
|
||||||
dell-ataraxia:
|
|
||||||
end
|
|
||||||
section: links
|
|
||||||
dell-ataraxia:
|
|
||||||
right = ataraxia-pc
|
|
||||||
end
|
|
||||||
section: options
|
|
||||||
keystroke(super+alt+left) = switchInDirection(left)
|
|
||||||
keystroke(super+alt+right) = switchInDirection(right)
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
client.enable = true;
|
|
||||||
client.serverAddress = "ataraxia-pc";
|
|
||||||
server.autoStart = false;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users.alukard = {
|
|
||||||
xresources.properties = with config.lib.base16.theme; {
|
|
||||||
"*foreground" = "#${base05-hex}";
|
|
||||||
"*background" = "#${base00-hex}";
|
|
||||||
"*cursorColor" = "#${base05-hex}";
|
|
||||||
"*color0" = "#${base00-hex}";
|
|
||||||
"*color1" = "#${base08-hex}";
|
|
||||||
"*color2" = "#${base0B-hex}";
|
|
||||||
"*color3" = "#${base0A-hex}";
|
|
||||||
"*color4" = "#${base0D-hex}";
|
|
||||||
"*color5" = "#${base0E-hex}";
|
|
||||||
"*color6" = "#${base0C-hex}";
|
|
||||||
"*color7" = "#${base05-hex}";
|
|
||||||
"*color8" = "#${base03-hex}";
|
|
||||||
"*color9" = "#${base09-hex}";
|
|
||||||
"*color10" = "#${base01-hex}";
|
|
||||||
"*color11" = "#${base02-hex}";
|
|
||||||
"*color12" = "#${base04-hex}";
|
|
||||||
"*color13" = "#${base06-hex}";
|
|
||||||
"*color14" = "#${base0F-hex}";
|
|
||||||
"*color15" = "#${base07-hex}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -75,12 +75,7 @@ with config.deviceSpecific; {
|
|||||||
youtube-to-mpv
|
youtube-to-mpv
|
||||||
zathura
|
zathura
|
||||||
zoom-us
|
zoom-us
|
||||||
|
|
||||||
# misc
|
|
||||||
# i3status-rust
|
|
||||||
] ++ lib.optionals (!(isVM || isISO)) [
|
] ++ lib.optionals (!(isVM || isISO)) [
|
||||||
# rust-stable
|
|
||||||
# rust-nightly
|
|
||||||
libreoffice
|
libreoffice
|
||||||
] ++ lib.optionals isGaming [
|
] ++ lib.optionals isGaming [
|
||||||
lutris
|
lutris
|
||||||
@ -92,11 +87,6 @@ with config.deviceSpecific; {
|
|||||||
acpi
|
acpi
|
||||||
] ++ lib.optionals (config.device == "AMD-Workstation") [
|
] ++ lib.optionals (config.device == "AMD-Workstation") [
|
||||||
multimc
|
multimc
|
||||||
# xonar-fp
|
|
||||||
# Android dev
|
|
||||||
# androidenv.androidPkgs_9_0.androidsdk
|
|
||||||
# android-studio
|
|
||||||
# scrcpy
|
|
||||||
] ++ lib.optionals (enableVirtualisation) [
|
] ++ lib.optionals (enableVirtualisation) [
|
||||||
virt-manager
|
virt-manager
|
||||||
];
|
];
|
@ -82,28 +82,3 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
# {
|
|
||||||
|
|
||||||
# home-manager.users.alukard = {
|
|
||||||
# # xdg.configFile."spicetify/Themes/base16/color.ini".source = ./color.ini;
|
|
||||||
# # xdg.configFile."spicetify/Themes/base16/user.css".source = ./user.css;
|
|
||||||
# services.spotifyd = {
|
|
||||||
# enable = true;
|
|
||||||
# package = (pkgs.spotifyd.override { withALSA = false; withPulseAudio = true; withPortAudio = false; });
|
|
||||||
# settings = {
|
|
||||||
# global = {
|
|
||||||
# username = "${config.secrets.spotify.user}";
|
|
||||||
# password = "${config.secrets.spotify.password}";
|
|
||||||
# backend = "pulseaudio";
|
|
||||||
# volume_controller = "softvol";
|
|
||||||
# device_name = "nix";
|
|
||||||
# bitrate = 320;
|
|
||||||
# no_audio_cache = true;
|
|
||||||
# volume_normalisation = false;
|
|
||||||
# device_type = "computer";
|
|
||||||
# cache_path = "${config.users.users.alukard.home}/.cache/spotifyd";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
@ -9,9 +9,9 @@ in
|
|||||||
cmd = "${pkgs.rxvt-unicode}/bin/urxvt";
|
cmd = "${pkgs.rxvt-unicode}/bin/urxvt";
|
||||||
desktop = "urxvt";
|
desktop = "urxvt";
|
||||||
};
|
};
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = lib.mkIf (isISO || isVM) {
|
||||||
programs.urxvt = {
|
programs.urxvt = {
|
||||||
enable = (isISO || isVM);
|
enable = true;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
"font" = "xft:${thm.powerlineFont}:style=Regular:size=${thm.smallFontSize}";
|
"font" = "xft:${thm.powerlineFont}:style=Regular:size=${thm.smallFontSize}";
|
||||||
"boldFont" = "xft:${thm.powerlineFont}:style=Bold:size=${thm.smallFontSize}";
|
"boldFont" = "xft:${thm.powerlineFont}:style=Bold:size=${thm.smallFontSize}";
|
||||||
@ -65,5 +65,26 @@ in
|
|||||||
"color21" = "#${thm.base06-hex}";
|
"color21" = "#${thm.base06-hex}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
xresources.properties = with config.lib.base16.theme; {
|
||||||
|
"*foreground" = "#${base05-hex}";
|
||||||
|
"*background" = "#${base00-hex}";
|
||||||
|
"*cursorColor" = "#${base05-hex}";
|
||||||
|
"*color0" = "#${base00-hex}";
|
||||||
|
"*color1" = "#${base08-hex}";
|
||||||
|
"*color2" = "#${base0B-hex}";
|
||||||
|
"*color3" = "#${base0A-hex}";
|
||||||
|
"*color4" = "#${base0D-hex}";
|
||||||
|
"*color5" = "#${base0E-hex}";
|
||||||
|
"*color6" = "#${base0C-hex}";
|
||||||
|
"*color7" = "#${base05-hex}";
|
||||||
|
"*color8" = "#${base03-hex}";
|
||||||
|
"*color9" = "#${base09-hex}";
|
||||||
|
"*color10" = "#${base01-hex}";
|
||||||
|
"*color11" = "#${base02-hex}";
|
||||||
|
"*color12" = "#${base04-hex}";
|
||||||
|
"*color13" = "#${base06-hex}";
|
||||||
|
"*color14" = "#${base0F-hex}";
|
||||||
|
"*color15" = "#${base07-hex}";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -2,7 +2,6 @@
|
|||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = lib.mkIf (pkgs.system == "x86_64-linux") true;
|
systemd-boot.enable = lib.mkIf (pkgs.system == "x86_64-linux") true;
|
||||||
# efi.canTouchEfiVariables = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
@ -5,7 +5,6 @@ with rec {
|
|||||||
with deviceSpecific;
|
with deviceSpecific;
|
||||||
{
|
{
|
||||||
secrets.samba = {
|
secrets.samba = {
|
||||||
# encrypted = "${config.home-manager.users.alukard.xdg.dataHome}/password-store/samba/linux.gpg";
|
|
||||||
services = [ ];
|
services = [ ];
|
||||||
};
|
};
|
||||||
|
|
@ -4,7 +4,6 @@ with config.deviceSpecific; {
|
|||||||
hardware.cpu.${devInfo.cpu.vendor}.updateMicrocode = true;
|
hardware.cpu.${devInfo.cpu.vendor}.updateMicrocode = true;
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# Enable hardware video acceleration for Intel
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||||
};
|
};
|
||||||
@ -33,9 +32,4 @@ with config.deviceSpecific; {
|
|||||||
] else if devInfo.gpu.vendor == "intel" then [
|
] else if devInfo.gpu.vendor == "intel" then [
|
||||||
i915
|
i915
|
||||||
] else [ ];
|
] else [ ];
|
||||||
# environment.systemPackages = if devInfo.gpu.vendor == "amd" then
|
|
||||||
# # [ (pkgs.mesa.override { enableRadv = true; }) ]
|
|
||||||
# [ pkgs.mesa ]
|
|
||||||
# else
|
|
||||||
# [ ];
|
|
||||||
}
|
}
|
10
profiles/mullvad.nix
Normal file
10
profiles/mullvad.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
vpn = config.deviceSpecific.wireguard;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf vpn.enable {
|
||||||
|
services.mullvad-vpn.enable = true;
|
||||||
|
home-manager.users.alukard.home.packages = [ pkgs.mullvad-vpn ];
|
||||||
|
startupApplications = [ "${pkgs.mullvad-vpn}/share/mullvad/mullvad-gui" ];
|
||||||
|
};
|
||||||
|
}
|
@ -12,7 +12,9 @@
|
|||||||
|
|
||||||
autoOptimiseStore = false;
|
autoOptimiseStore = false;
|
||||||
|
|
||||||
package = inputs.nix.packages.x86_64-linux.nix;
|
package = inputs.nix.packages.x86_64-linux.nix.overrideAttrs (oa: {
|
||||||
|
patches = [./nix.patch] ++ oa.patches or [];
|
||||||
|
});
|
||||||
|
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
42
profiles/nix/nix.patch
Normal file
42
profiles/nix/nix.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
diff --git a/src/libstore/profiles.cc b/src/libstore/profiles.cc
|
||||||
|
index 5d1723886..4f2e4f5db 100644
|
||||||
|
--- a/src/libstore/profiles.cc
|
||||||
|
+++ b/src/libstore/profiles.cc
|
||||||
|
@@ -250,13 +250,6 @@ Path getDefaultProfile()
|
||||||
|
{
|
||||||
|
Path profileLink = getHome() + "/.nix-profile";
|
||||||
|
try {
|
||||||
|
- if (!pathExists(profileLink)) {
|
||||||
|
- replaceSymlink(
|
||||||
|
- getuid() == 0
|
||||||
|
- ? settings.nixStateDir + "/profiles/default"
|
||||||
|
- : fmt("%s/profiles/per-user/%s/profile", settings.nixStateDir, getUserName()),
|
||||||
|
- profileLink);
|
||||||
|
- }
|
||||||
|
return absPath(readLink(profileLink), dirOf(profileLink));
|
||||||
|
} catch (Error &) {
|
||||||
|
return profileLink;
|
||||||
|
diff --git a/src/nix-env/nix-env.cc b/src/nix-env/nix-env.cc
|
||||||
|
index e04954d45..5649bd01a 100644
|
||||||
|
--- a/src/nix-env/nix-env.cc
|
||||||
|
+++ b/src/nix-env/nix-env.cc
|
||||||
|
@@ -1336,19 +1336,6 @@ static int main_nix_env(int argc, char * * argv)
|
||||||
|
globals.instSource.nixExprPath = getHome() + "/.nix-defexpr";
|
||||||
|
globals.instSource.systemFilter = "*";
|
||||||
|
|
||||||
|
- if (!pathExists(globals.instSource.nixExprPath)) {
|
||||||
|
- try {
|
||||||
|
- createDirs(globals.instSource.nixExprPath);
|
||||||
|
- replaceSymlink(
|
||||||
|
- fmt("%s/profiles/per-user/%s/channels", settings.nixStateDir, getUserName()),
|
||||||
|
- globals.instSource.nixExprPath + "/channels");
|
||||||
|
- if (getuid() != 0)
|
||||||
|
- replaceSymlink(
|
||||||
|
- fmt("%s/profiles/per-user/root/channels", settings.nixStateDir),
|
||||||
|
- globals.instSource.nixExprPath + "/channels_root");
|
||||||
|
- } catch (Error &) { }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
globals.dryRun = false;
|
||||||
|
globals.preserveInstalled = false;
|
||||||
|
globals.removeAll = false;
|
@ -32,6 +32,7 @@ in
|
|||||||
vscode-fhs = master.vscode-fhs;
|
vscode-fhs = master.vscode-fhs;
|
||||||
vivaldi = master.vivaldi;
|
vivaldi = master.vivaldi;
|
||||||
multimc = pkgs.qt5.callPackage ./packages/multimc.nix { multimc-repo = inputs.multimc-cracked; };
|
multimc = pkgs.qt5.callPackage ./packages/multimc.nix { multimc-repo = inputs.multimc-cracked; };
|
||||||
|
nix-direnv = inputs.nix-direnv.defaultPackage.${system};
|
||||||
steam = super.steam.override {
|
steam = super.steam.override {
|
||||||
extraLibraries = pkgs: with pkgs; [
|
extraLibraries = pkgs: with pkgs; [
|
||||||
pipewire
|
pipewire
|
@ -7,47 +7,24 @@ with config.deviceSpecific; {
|
|||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
services.redshift = {
|
|
||||||
enable = true;
|
|
||||||
temperature.day = 6500;
|
|
||||||
temperature.night = 3000;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.earlyoom = {
|
services.earlyoom = {
|
||||||
enable = devInfo.ram < 16;
|
enable = devInfo.ram < 16;
|
||||||
freeMemThreshold = 5;
|
freeMemThreshold = 5;
|
||||||
freeSwapThreshold = 100;
|
freeSwapThreshold = 100;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable zram, disable zswap
|
|
||||||
zramSwap = {
|
|
||||||
enable = true;
|
|
||||||
algorithm = "zstd";
|
|
||||||
memoryPercent = 60;
|
|
||||||
numDevices = 1;
|
|
||||||
};
|
|
||||||
boot.kernelParams = [ "zswap.enabled=0" ];
|
|
||||||
|
|
||||||
services.fstrim = {
|
services.fstrim = {
|
||||||
enable = isSSD;
|
enable = isSSD;
|
||||||
interval = "weekly";
|
interval = "weekly";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [ pkgs.stlink ];
|
services.redshift = {
|
||||||
|
enable = true;
|
||||||
|
temperature.day = 6500;
|
||||||
|
temperature.night = 3000;
|
||||||
|
};
|
||||||
|
|
||||||
# services.avahi = {
|
services.thermald.enable = isLaptop;
|
||||||
# enable = true;
|
|
||||||
# nssmdns = true;
|
|
||||||
# publish = {
|
|
||||||
# enable = true;
|
|
||||||
# addresses = true;
|
|
||||||
# domain = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
systemd.services.systemd-udev-settle.enable = false;
|
|
||||||
|
|
||||||
services.upower.enable = true;
|
|
||||||
|
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
enable = isLaptop;
|
enable = isLaptop;
|
||||||
@ -78,5 +55,18 @@ with config.deviceSpecific; {
|
|||||||
gpuOffset = -48; # -54
|
gpuOffset = -48; # -54
|
||||||
};
|
};
|
||||||
|
|
||||||
services.thermald.enable = isLaptop;
|
services.udev.packages = [ pkgs.stlink ];
|
||||||
|
|
||||||
|
services.upower.enable = true;
|
||||||
|
|
||||||
|
systemd.services.systemd-udev-settle.enable = false;
|
||||||
|
|
||||||
|
# Enable zram, disable zswap
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
algorithm = "zstd";
|
||||||
|
memoryPercent = 60;
|
||||||
|
numDevices = 1;
|
||||||
|
};
|
||||||
|
boot.kernelParams = [ "zswap.enabled=0" ];
|
||||||
}
|
}
|
@ -26,23 +26,6 @@ in {
|
|||||||
markup = "full";
|
markup = "full";
|
||||||
};
|
};
|
||||||
|
|
||||||
# urgency_low = {
|
|
||||||
# background = "#${thm.base01-hex}";
|
|
||||||
# foreground = "#${thm.base03-hex}";
|
|
||||||
# timeout = 5;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# urgency_normal = {
|
|
||||||
# background = "#${thm.base02-hex}";
|
|
||||||
# foreground = "#${thm.base05-hex}";
|
|
||||||
# timeout = 10;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# urgency_critical = {
|
|
||||||
# background = "#${thm.base08-hex}";
|
|
||||||
# foreground = "#${thm.base06-hex}";
|
|
||||||
# timeout = 15;
|
|
||||||
# };
|
|
||||||
urgency_low = {
|
urgency_low = {
|
||||||
background = "#${thm.base01-hex}";
|
background = "#${thm.base01-hex}";
|
||||||
foreground = "#${thm.base05-hex}";
|
foreground = "#${thm.base05-hex}";
|
@ -11,12 +11,9 @@ in
|
|||||||
roboto
|
roboto
|
||||||
roboto-mono
|
roboto-mono
|
||||||
roboto-slab
|
roboto-slab
|
||||||
# powerline-fonts
|
|
||||||
# Icons
|
# Icons
|
||||||
# font-awesome_4
|
|
||||||
font-awesome
|
font-awesome
|
||||||
material-icons
|
material-icons
|
||||||
# material-design-icons
|
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
enable = lib.mkForce true;
|
enable = lib.mkForce true;
|
@ -4,6 +4,7 @@
|
|||||||
LESS = "MR";
|
LESS = "MR";
|
||||||
LESSHISTFILE = "~/.local/share/lesshist";
|
LESSHISTFILE = "~/.local/share/lesshist";
|
||||||
SYSTEMD_LESS = LESS;
|
SYSTEMD_LESS = LESS;
|
||||||
|
CARGO_HOME = "${config.home-manager.users.alukard.xdg.dataHome}/cargo";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
@ -23,6 +23,7 @@
|
|||||||
"100:class_i ?= 'vivaldi-stable'"
|
"100:class_i ?= 'vivaldi-stable'"
|
||||||
"100:class_g = 'mpv'"
|
"100:class_g = 'mpv'"
|
||||||
"100:class_g = 'explorer.exe'"
|
"100:class_g = 'explorer.exe'"
|
||||||
|
"100:class_g = '.scrcpy-wrapped'"
|
||||||
"90:class_g = 'URxvt' && focused"
|
"90:class_g = 'URxvt' && focused"
|
||||||
"70:class_g = 'URxvt' && !focused"
|
"70:class_g = 'URxvt' && !focused"
|
||||||
];
|
];
|
@ -67,18 +67,27 @@
|
|||||||
|
|
||||||
nixify() {
|
nixify() {
|
||||||
if [ ! -e ./.envrc ]; then
|
if [ ! -e ./.envrc ]; then
|
||||||
echo 'use nix' > .envrc
|
echo 'use flake' > .envrc
|
||||||
direnv allow
|
direnv allow
|
||||||
fi
|
fi
|
||||||
if [ ! -e shell.nix ]; then
|
if [ ! -e flake.nix ]; then
|
||||||
cat > shell.nix <<'EOF'
|
cat > flake.nix <<'EOF'
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
{
|
||||||
# with import <nixpkgs> {};
|
description = "shell environment";
|
||||||
pkgs.mkShell {
|
|
||||||
# Hack SSL Cert error
|
inputs = {
|
||||||
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt;
|
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
||||||
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt;
|
};
|
||||||
buildInputs = [];
|
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs: {
|
||||||
|
devShell.x86_64-linux = let
|
||||||
|
pkgs = import nixpkgs { config.allowUnfree = true; localSystem = "x86_64-linux"; };
|
||||||
|
in pkgs.mkShell {
|
||||||
|
nativeBuildInputs = [ ];
|
||||||
|
buildInputs = with pkgs; [ ];
|
||||||
|
shellHook = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
@ -1,5 +1,5 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; with inputs.self.nixosProfiles; [
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
|
||||||
applications
|
applications
|
@ -1,17 +1,17 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; with inputs.self.nixosProfiles; [
|
||||||
./base.nix
|
./base.nix
|
||||||
inputs.base16.hmModule
|
inputs.base16.hmModule
|
||||||
|
|
||||||
applications-setup
|
applications-setup
|
||||||
filesystems
|
filesystems
|
||||||
hardware
|
hardware
|
||||||
|
mullvad
|
||||||
samba
|
samba
|
||||||
services
|
services
|
||||||
sound
|
sound
|
||||||
themes
|
themes
|
||||||
virtualisation
|
virtualisation
|
||||||
wireguard
|
|
||||||
xserver
|
xserver
|
||||||
|
|
||||||
alacritty
|
alacritty
|
||||||
@ -39,6 +39,5 @@
|
|||||||
light
|
light
|
||||||
picom
|
picom
|
||||||
print-scan
|
print-scan
|
||||||
xresources
|
|
||||||
];
|
];
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user