add flakes and picom blur to nixos configuration

This commit is contained in:
horhik 2021-05-31 15:39:59 +03:00
parent edfbd1d5fd
commit ecec7e3a15
16 changed files with 469 additions and 8 deletions

View File

@ -18,10 +18,12 @@
./modules/discord.nix
./modules/gtk.nix
./modules/hosts.nix
./modules/picom.nix
#./modules/picom.nix
./modules/sound.nix
./modules/steam.nix
./modules/zsh.nix
./fonts.nix
];
# Use the systemd-boot EFI boot loader.
@ -111,7 +113,8 @@
environment.systemPackages = with pkgs; [
papirus-icon-theme pop-gtk-theme
wget git vim neovim emacs alacritty xterm zsh tmux stow dunst
# haskellPackages.xmonad haskellPackages.xmobar haskellPackages.xmonad-contrib haskellPackages.xmonad-utils
# haskellPackages.xmonad haskellPackages.xmonad-contrib haskellPackages.xmonad-utils
haskellPackages.xmobar
i3 surf dmenu st qutebrowser
lightdm rofi nitrogen rofi-emoji
mononoki fontmatrix
@ -124,7 +127,6 @@
killall audacity thefuck
polkit etcher gsettings-qt appimage-run pamixer unzip qjackctl gnome3.nautilus bluez pkgconfig pavucontrol bpytop
#nur.repos.reedrw.picom-next-ibhagwan
picom
spotify obsidian discord
];

115
nix/flake.lock Normal file
View File

@ -0,0 +1,115 @@
{
"nodes": {
"emacs-overlay": {
"locked": {
"lastModified": 1622448019,
"narHash": "sha256-FngdKykveXHR0ZxHgRIccwBowwm6F/VKtwwilw3EE6w=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "226f1d5d6933d154be74d0c190babd24433ca442",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1622312560,
"narHash": "sha256-xBWgiwnPaL/iZasPxw3BuvPAee/2jiToiZjKvKLs+PA=",
"owner": "rycee",
"repo": "home-manager",
"rev": "ab64dc32493996c24607eab2cae6663466ddfb8a",
"type": "github"
},
"original": {
"owner": "rycee",
"ref": "release-21.05",
"repo": "home-manager",
"type": "github"
}
},
"master": {
"locked": {
"lastModified": 1622448234,
"narHash": "sha256-QMfDneuVqjRHRKEFv2jAtFKdD/thptbvbkNbkYO6bcA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "27165e70ad737782ec76c1d1885bee57caa6ae4d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1622282707,
"narHash": "sha256-+GOrUDsdneUqrOm9d+9bHXjEVoVcU8tm14WGVzbt6gg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6933d068c5d2fcff398e802f7c4e271bbdab6705",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1622447676,
"narHash": "sha256-o58Fl8vmy8jG5T7ojGQ1Cg5zJCCKdHgn0DgPo0TgY/Y=",
"owner": "nix-community",
"repo": "NUR",
"rev": "6ae5440a6f830621670f86d3f9f42df7d6a0f2d0",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"root": {
"inputs": {
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"master": "master",
"nixpkgs": "nixpkgs",
"nur": "nur",
"unstable": "unstable"
}
},
"unstable": {
"locked": {
"lastModified": 1622282707,
"narHash": "sha256-+GOrUDsdneUqrOm9d+9bHXjEVoVcU8tm14WGVzbt6gg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6933d068c5d2fcff398e802f7c4e271bbdab6705",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

83
nix/flake.nix Normal file
View File

@ -0,0 +1,83 @@
{
description = "Main configuration on top of nix flakes";
inputs = {
home-manager = {
url = "github:rycee/home-manager/release-21.05";
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
nur.url = "github:nix-community/NUR";
emacs-overlay.url = "github:nix-community/emacs-overlay";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
master.url = "github:nixos/nixpkgs/master";
};
outputs = inputs@{ self, home-manager, nur, nixpkgs, ... }:
let
inherit (builtins) listToAttrs attrValues attrNames readDir;
inherit (nixpkgs) lib;
inherit (lib) removeSuffix;
pkgs = (import nixpkgs) {
system = "x86_64-linux";
config = {
allowUnfree = true;
};
overlays = attrValues self.overlays;
};
in
{
overlays =
let
overlayFiles = listToAttrs (map
(name: {
name = removeSuffix ".nix" name;
value = import (./overlays + "/${name}");
})
(attrNames (readDir ./overlays)));
in
overlayFiles // {
nur = final: prev: {
nur = import inputs.nur { nurpkgs = final.unstable; pkgs = final.unstable; };
};
emacs-overlay = inputs.emacs-overlay.overlay;
unstable = final: prev: {
unstable = import inputs.unstable {
system = final.system;
config = {
allowUnfree = true;
};
};
};
master = final: prev: {
master = import inputs.master {
system = final.system;
config = {
allowUnfree = true;
};
};
};
};
nixosConfigurations.lap = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
./hardware-configuration.nix
home-manager.nixosModules.home-manager
({
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.horhik = {
imports = [
./modules/picom.nix
];
};
})
];
inherit pkgs;
};
};
}

5
nix/install Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
nix-channel --add https://github.com/nix-community/home-manager/archive/release-20.09.tar.gz home-manager
nix-channel --update

23
nix/modules/#picom.nix# Normal file
View File

@ -0,0 +1,23 @@
{config, pkgs, ...}:
{
services.picom = {
# package = pkgs.nur.repos.reedrw.picom-next-ibhagwan;
enable = true;
#detect-rounded-corners = true;
backend = "glx";
shadow = true;
vSync = true;
activeOpacity = 1.0;
inactiveOpacity = 0.75 ;
experimentalBackends = true;
settings = {
blur = {
method = "kawase";
size = 50;
deviation = 7.0;
};
};
};
}

1
nix/modules/.#picom.nix Symbolic link
View File

@ -0,0 +1 @@
horhik@lap.122842:1622363905

View File

@ -1,4 +1,4 @@
{config, pkgs, ...}:
{
nixpkgs.overlays = [(self: super: { discord = super.discord.overrideAttrs (_: { src = builtins.fetchTarball "https://discord.com/api/download/stable?platform=linux&format=tar.gz"; });})];
# nixpkgs.overlays = [(self: super: { discord = super.discord.overrideAttrs (_: { src = builtins.fetchTarball "https://discord.com/api/download/stable?platform=linux&format=tar.gz"; });})];
}

View File

@ -1,18 +1,65 @@
# This file is generated from "README.org"
{ pkgs, ... }:
{
services.picom.enable = true;
services.picom.package = pkgs.nur.repos.reedrw.picom-next-ibhagwan;
services.picom.shadow = true;
services.picom.vSync = true;
services.picom.inactiveOpacity = "0.8";
services.picom.inactiveDim = "0.7";
services.picom.backend = "glx";
services.picom.experimentalBackends = true;
services.picom.opacityRule = [
"80:class_g = 'Zathura'"
"80:class_g = 'TelegramDesktop'"
"80:class_g = 'Discord'"
"80:class_g = 'Emacs'"
"100:class_g = 'keynav'"
"85:class_g = 'Alacritty'"
];
services.picom.extraOptions = ''
#inactive-dim = 0.5;
#active-opacity = 1.0;
detect-client-opacity = true;
detect-rounded-corners = true;
blur:
{
method = "kawase";
strength = 8;
background = false;
background-frame = false;
background-fixed = false;
};
blur-background-exclude = [
"class_g = 'keynav'"
];
corner-radius = 0;
rounded-corners-exclude = [
"window_type = 'dock'",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'",
"class_g = 'keynav'",
];
round-borders = 0;
round-borders-exclude = [
"class_g = 'keynav'"
];
'';
}
/*
{config, pkgs, ...}:
{
services.picom = {
# package = pkgs.nur.repos.reedrw.picom-next-ibhagwan;
package = pkgs.nur.repos.reedrw.picom-next-ibhagwan;
enable = true;
#detect-rounded-corners = true;
backend = "glx";
shadow = true;
vSync = true;
activeOpacity = 1.0;
inactiveOpacity = 0.75 ;
experimentalBackends = true;
settings = {
blur = {
method = "kawase";
method = "gaussian";
size = 50;
deviation = 7.0;
};
@ -21,3 +68,4 @@
}
*/

13
nix/overlays/neofetch.nix Normal file
View File

@ -0,0 +1,13 @@
# This file is generated from "README.org"
final: prev:
{
neofetch = prev.neofetch.overrideAttrs (old: rec {
version = "unstable-2020-11-02";
src = prev.fetchFromGitHub {
owner = "dylanaraps";
repo = "neofetch";
rev = "5dfce0f9c3068d4d8a49d0b7182bdace61b8f4d0";
sha256 = "131r07wllkvrcgw0ndyf5avqpzqkym56ii0qck6qyjfa8ylx6s31";
};
});
}

View File

@ -0,0 +1,9 @@
# This file is generated from "README.org"
final: prev:
{
inherit (final.unstable) lua;
inherit (final.unstable) fish;
inherit (final.master) youtube-dl;
inherit (final.master) mpv;
inherit (final.unstable) fzf;
}

View File

@ -0,0 +1,7 @@
# This file is generated from "README.org"
final: prev: rec {
apple-color-emoji = prev.callPackage ../packages/apple-color-emoji { };
tamzen-nerdfont = prev.callPackage ../packages/tamzen-nerdfont { };
palenight-gtk-theme = prev.callPackage ../packages/palenight-gtk-theme { };
vifmimg = prev.callPackage ../packages/vifmimg { };
}

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "apple-color-emoji-${version}";
version = "2020-06-30";
src = fetchurl {
url = https://github.com/samuelngs/apple-emoji-linux/releases/download/latest/AppleColorEmoji.ttf;
sha256 = "0xaclj29b7xgqin8izkabrm2znp1m01894fngyxrhwbf9nbncp4g";
};
phases = [ "unpackPhase" "installPhase" ];
sourceRoot = "./";
unpackCmd = ''
cp $curSrc ./AppleColorEmoji.ttf
'';
installPhase = ''
mkdir -p $out/share/fonts/apple-color-emoji
cp *.ttf $out/share/fonts/apple-color-emoji
'';
meta = {
description = "Apple Color Emoji is a color typeface used by iOS and macOS to display emoji";
homepage = https://github.com/samuelngs/apple-emoji-linux;
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.all;
maintainers = [ ];
};
}
# vim: foldmethod=marker shiftwidth=4 ft=nix:

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, sassc, inkscape, optipng, ... }:
stdenv.mkDerivation rec {
version = "0.2.0";
pname = "palenight-gtk-theme";
src = fetchFromGitHub {
owner = "jaxwilko";
repo = "gtk-theme-framework";
rev = "b695bf4cf153691e485c09c1c744c46b6f025a74";
sha256 = "0bfhv7ywgmw2s6kfxb7wgpri7gh6yd89gaazj1dxgz690b7mliv7";
};
nativeBuildInputs = [ sassc inkscape optipng ];
postPatch = ''
patchShebangs .
'';
buildPhase = ''
./main.sh -vcf
'';
installPhase = ''
mkdir -p $out/share/themes
mv ./dist/palenight/theme ./dist/palenight/palenight
cp -r ./dist/palenight/palenight $out/share/themes
'';
}

View File

@ -0,0 +1,29 @@
# This file is generated from "README.org"
{ stdenv, lib, fetchurl, mkfontscale }:
let
pname = "spleen-otf";
version = "1.8.2";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
sha256 = "1pvg34xzi2cqgwpcl56j55rlwz44qasv3fa1jln2b1il8272s9hn";
};
phases = [ "unpackPhase" "installPhase" ];
sourceRoot = "./";
unpackCmd = ''
tar xvf $curSrc --strip=1
'';
installPhase = ''
d="$out/share/fonts/misc"
install -D -m 644 *.otf -t "$d"
install -D -m 644 *.psfu -t "$out/share/consolefonts"
install -m644 fonts.alias-spleen $d/fonts.alias
# create fonts.dir so NixOS xorg module adds to fp
${mkfontscale}/bin/mkfontdir "$d"
'';
}

View File

@ -0,0 +1,43 @@
{ fetchFromGitHub, stdenv, fetchurl, size ? [ ] }:
# select size from
# 10x20 5x9 6x12 7x13 7x14 8x15 8x16
let
knownSize = "7x14";
selectedSize =
if (size == [ ]) then
knownSize
else
size
;
in
stdenv.mkDerivation rec {
name = "tamzen-nerdfont-${version}";
version = "1.11";
src = fetchFromGitHub {
"owner" = "btwiusegentoo";
"repo" = "tamzen-nerdfont";
"rev" = "5ccaef6ad5187818c883648a19841b1ea34a418d";
"sha256" = "0ay1gk9ql51xkl2gq302lv9sbz4djqmw1zg7anm04hvszga8dmh5";
};
phases = [ "installPhase" ];
sourceRoot = "./";
installPhase = ''
mkdir -p $out/share/fonts/tamzen-nerdfont
cp ${src}/patchedtamzen/Tamzen${selectedSize}r.ttf $out/share/fonts/tamzen-nerdfont
cp ${src}/patchedtamzen/Tamzen${selectedSize}b.ttf $out/share/fonts/tamzen-nerdfont
'';
meta = {
description = ":love_letter: Bitmapped programming font, based on Tamsyn";
homepage = https://github.com/btwiusegentoo/tamzen-nerdfont;
maintainers = [ ];
};
}
# vim: foldmethod=marker shiftwidth=4 ft=nix:

View File

@ -0,0 +1,18 @@
{ stdenv, fetchFromGitHub, ... }:
stdenv.mkDerivation rec {
version = "unstable-2020-06-23";
pname = "vifmimg";
src = fetchFromGitHub {
owner = "cirala";
repo = "vifmimg";
rev = "afe4f159e1acc9a54dd3a2dc28850f11f97c1ebf";
sha256 = "11pbfayww7pwyk8a7jgvijx9i96ahyvn5y84gpn0yjd0b9wf75bn";
};
installPhase = ''
mkdir -p $out/bin
cp vifm* $out/bin
'';
}