mirror of
https://github.com/kp2pml30/dotfiles.git
synced 2026-02-16 23:34:42 +04:00
adjust themes and other stuff
This commit is contained in:
parent
1bd790f1c8
commit
70e965c63f
17 changed files with 332 additions and 183 deletions
|
|
@ -78,6 +78,9 @@
|
||||||
boot.efiGrub = true;
|
boot.efiGrub = true;
|
||||||
|
|
||||||
hardware.wireless = true;
|
hardware.wireless = true;
|
||||||
|
hardware.audio = true;
|
||||||
|
|
||||||
|
messengers.personal = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ local awful = require("awful")
|
||||||
require("awful.autofocus")
|
require("awful.autofocus")
|
||||||
-- Widget and layout library
|
-- Widget and layout library
|
||||||
local wibox = require("wibox")
|
local wibox = require("wibox")
|
||||||
|
local deficient = require("deficient")
|
||||||
-- Theme handling library
|
-- Theme handling library
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
-- Notification library
|
-- Notification library
|
||||||
|
|
@ -45,7 +46,9 @@ end
|
||||||
|
|
||||||
-- {{{ Variable definitions
|
-- {{{ Variable definitions
|
||||||
-- Themes define colours, icons, font and wallpapers.
|
-- Themes define colours, icons, font and wallpapers.
|
||||||
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
if not beautiful.init(require("theme")) then
|
||||||
|
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
||||||
|
end
|
||||||
|
|
||||||
-- This is used later as the default terminal and editor to run.
|
-- This is used later as the default terminal and editor to run.
|
||||||
terminal = "kitty"
|
terminal = "kitty"
|
||||||
|
|
@ -83,11 +86,11 @@ awful.layout.layouts = {
|
||||||
-- {{{ Menu
|
-- {{{ Menu
|
||||||
-- Create a launcher widget and a main menu
|
-- Create a launcher widget and a main menu
|
||||||
myawesomemenu = {
|
myawesomemenu = {
|
||||||
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||||
{ "manual", terminal .. " -e man awesome" },
|
{ "manual", terminal .. " -e man awesome" },
|
||||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||||
{ "restart", awesome.restart },
|
{ "restart", awesome.restart },
|
||||||
{ "quit", function() awesome.quit() end },
|
{ "quit", function() awesome.quit() end },
|
||||||
}
|
}
|
||||||
|
|
||||||
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||||
|
|
@ -107,7 +110,14 @@ mykeyboardlayout = awful.widget.keyboardlayout()
|
||||||
|
|
||||||
-- {{{ Wibar
|
-- {{{ Wibar
|
||||||
-- Create a textclock widget
|
-- Create a textclock widget
|
||||||
mytextclock = wibox.widget.textclock()
|
local mytextclock = wibox.widget {
|
||||||
|
format = "%a %d/%m/%y %H:%M %b",
|
||||||
|
widget = wibox.widget.textclock,
|
||||||
|
}
|
||||||
|
|
||||||
|
local my_brightness = deficient.brightness {
|
||||||
|
}
|
||||||
|
local my_volume = deficient.volume_control({})
|
||||||
|
|
||||||
-- Create a wibox for each screen and add it
|
-- Create a wibox for each screen and add it
|
||||||
local taglist_buttons = gears.table.join(
|
local taglist_buttons = gears.table.join(
|
||||||
|
|
@ -213,6 +223,8 @@ awful.screen.connect_for_each_screen(function(s)
|
||||||
mykeyboardlayout,
|
mykeyboardlayout,
|
||||||
wibox.widget.systray(),
|
wibox.widget.systray(),
|
||||||
mytextclock,
|
mytextclock,
|
||||||
|
my_brightness.widget,
|
||||||
|
my_volume.widget,
|
||||||
s.mylayoutbox,
|
s.mylayoutbox,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -250,8 +262,6 @@ globalkeys = gears.table.join(
|
||||||
end,
|
end,
|
||||||
{description = "focus previous by index", group = "client"}
|
{description = "focus previous by index", group = "client"}
|
||||||
),
|
),
|
||||||
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
|
|
||||||
{description = "show main menu", group = "awesome"}),
|
|
||||||
|
|
||||||
-- Layout manipulation
|
-- Layout manipulation
|
||||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||||
|
|
@ -313,7 +323,7 @@ globalkeys = gears.table.join(
|
||||||
-- Prompt
|
-- Prompt
|
||||||
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||||
{description = "run prompt", group = "launcher"}),
|
{description = "run prompt", group = "launcher"}),
|
||||||
awful.key({ modkey }, "d", function () awful.spawn("rofi -show drun") end,
|
awful.key({ modkey }, "d", function () awful.spawn("rofi -show drun -drun-show-actions") end,
|
||||||
{description = "run prompt", group = "launcher"}),
|
{description = "run prompt", group = "launcher"}),
|
||||||
|
|
||||||
awful.key({ modkey }, "x",
|
awful.key({ modkey }, "x",
|
||||||
|
|
@ -328,7 +338,15 @@ globalkeys = gears.table.join(
|
||||||
{description = "lua execute prompt", group = "awesome"}),
|
{description = "lua execute prompt", group = "awesome"}),
|
||||||
-- Menubar
|
-- Menubar
|
||||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||||
{description = "show the menubar", group = "launcher"})
|
{description = "show the menubar", group = "launcher"}),
|
||||||
|
|
||||||
|
-- fns
|
||||||
|
awful.key({}, "XF86AudioRaiseVolume", function() my_volume:up() end),
|
||||||
|
awful.key({}, "XF86AudioLowerVolume", function() my_volume:down() end),
|
||||||
|
awful.key({}, "XF86AudioMute", function() my_volume:toggle() end),
|
||||||
|
|
||||||
|
awful.key({}, "XF86MonBrightnessDown", function() my_brightness:down() end),
|
||||||
|
awful.key({}, "XF86MonBrightnessUp", function() my_brightness:up() end)
|
||||||
)
|
)
|
||||||
|
|
||||||
clientkeys = gears.table.join(
|
clientkeys = gears.table.join(
|
||||||
|
|
|
||||||
109
home/.config/awesome/theme.lua
Normal file
109
home/.config/awesome/theme.lua
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
-- based on https://github.com/micro-hawk/awesomight/blob/master/dotfiles/.config/awesome/themes/tokyo-night/theme.lua
|
||||||
|
local theme_assets = require("beautiful.theme_assets")
|
||||||
|
local xresources = require("beautiful.xresources")
|
||||||
|
local dpi = xresources.apply_dpi
|
||||||
|
|
||||||
|
local gfs = require("gears.filesystem")
|
||||||
|
local themes_path = gfs.get_themes_dir()
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
-- theme.dir = os.getenv("HOME") .. "/.config/awesome/"
|
||||||
|
-- theme.wallpaper = theme.dir .. "/tokyo-night/witcher-wall7.png"
|
||||||
|
theme.font = "FiraCode Nerd Font Mono 11"
|
||||||
|
theme.fg_normal = "#DDDDFF"
|
||||||
|
theme.fg_focus = "#f7768e"
|
||||||
|
theme.fg_urgent = "#ff9e64"
|
||||||
|
theme.bg_normal = "#16161e"
|
||||||
|
theme.temp_color = "#16161e"
|
||||||
|
theme.bg_focus = "#292e42"
|
||||||
|
theme.bg_urgent = "#292e42"
|
||||||
|
|
||||||
|
|
||||||
|
theme.border_width = 2
|
||||||
|
theme.border_normal = theme.bg_urgent
|
||||||
|
theme.border_focus = theme.fg_focus
|
||||||
|
theme.border_marked = theme.fg_focus
|
||||||
|
theme.tasklist_bg_focus = theme.bg_focus
|
||||||
|
|
||||||
|
theme.titlebar_bg_focus = theme.bg_focus
|
||||||
|
theme.titlebar_bg_normal = theme.bg_normal
|
||||||
|
theme.titlebar_fg_focus = theme.fg_focus
|
||||||
|
|
||||||
|
local taglist_square_size = dpi(4)
|
||||||
|
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||||
|
taglist_square_size, theme.fg_focus
|
||||||
|
)
|
||||||
|
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Variables set for theming notifications:
|
||||||
|
-- notification_font
|
||||||
|
-- notification_[bg|fg]
|
||||||
|
-- notification_[width|height|margin]
|
||||||
|
-- notification_[border_color|border_width|shape|opacity]
|
||||||
|
|
||||||
|
-- Variables set for theming the menu:
|
||||||
|
-- menu_[bg|fg]_[normal|focus]
|
||||||
|
-- menu_[border_color|border_width]
|
||||||
|
theme.menu_submenu_icon = themes_path.."default/submenu.png"
|
||||||
|
theme.menu_height = dpi(15)
|
||||||
|
theme.menu_width = dpi(100)
|
||||||
|
|
||||||
|
-- Define the image to load
|
||||||
|
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
|
||||||
|
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
|
||||||
|
|
||||||
|
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
|
||||||
|
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
|
||||||
|
|
||||||
|
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
|
||||||
|
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
|
||||||
|
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
|
||||||
|
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
|
||||||
|
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
|
||||||
|
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
|
||||||
|
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
|
||||||
|
|
||||||
|
-- theme.wallpaper = themes_path.."default/background.png"
|
||||||
|
|
||||||
|
-- You can use your own layout icons like this:
|
||||||
|
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||||
|
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||||
|
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||||
|
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||||
|
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||||
|
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||||
|
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||||
|
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||||
|
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||||
|
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||||
|
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||||
|
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||||
|
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||||
|
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||||
|
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||||
|
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||||
|
|
||||||
|
-- Generate Awesome icon:
|
||||||
|
theme.awesome_icon = theme_assets.awesome_icon(
|
||||||
|
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Define the icon theme for application icons. If not set then the icons
|
||||||
|
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||||
|
theme.icon_theme = nil
|
||||||
|
|
||||||
|
return theme
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
font_family Fira Code Nerd Font Mono
|
font_family family="FiraCode Nerd Font Mono"
|
||||||
|
|
||||||
map alt+1 first_window
|
map alt+1 first_window
|
||||||
map alt+2 second_window
|
map alt+2 second_window
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ if system('uname -a') =~ '\<WSL2\>'
|
||||||
\ }
|
\ }
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" colorscheme tokyonight-night
|
|
||||||
if exists(':GuiRenderLigatures')
|
if exists(':GuiRenderLigatures')
|
||||||
GuiRenderLigatures 1
|
GuiRenderLigatures 1
|
||||||
endif
|
endif
|
||||||
|
|
@ -49,6 +48,8 @@ if exists(':GuiFont')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
function s:post_load()
|
function s:post_load()
|
||||||
|
colorscheme tokyonight-night
|
||||||
|
|
||||||
if exists(':NERDTreeToggle')
|
if exists(':NERDTreeToggle')
|
||||||
map <F3> :NERDTreeToggle<CR>
|
map <F3> :NERDTreeToggle<CR>
|
||||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||||
|
|
|
||||||
1
home/.config/rofi/config
Normal file
1
home/.config/rofi/config
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
rofi.theme: ~/.config/rofi/simple-tokyonight.rasi
|
||||||
116
home/.config/rofi/simple-tokyonight.rasi
Normal file
116
home/.config/rofi/simple-tokyonight.rasi
Normal file
|
|
@ -0,0 +1,116 @@
|
||||||
|
# See https://github.com/newmanls/rofi-themes-collection/tree/master (GPLv3)
|
||||||
|
* {
|
||||||
|
font: "Iosevka Nerd Font Medium 11";
|
||||||
|
|
||||||
|
bg0 : #1a1b26;
|
||||||
|
bg1 : #1f2335;
|
||||||
|
bg2 : #24283b;
|
||||||
|
bg3 : #414868;
|
||||||
|
fg0 : #c0caf5;
|
||||||
|
fg1 : #a9b1d6;
|
||||||
|
fg2 : #737aa2;
|
||||||
|
red : #f7768e;
|
||||||
|
green : #9ece6a;
|
||||||
|
yellow : #e0af68;
|
||||||
|
blue : #7aa2f7;
|
||||||
|
magenta : #9a7ecc;
|
||||||
|
cyan : #4abaaf;
|
||||||
|
|
||||||
|
accent: @red;
|
||||||
|
urgent: @yellow;
|
||||||
|
|
||||||
|
background-color : transparent;
|
||||||
|
text-color : @fg0;
|
||||||
|
|
||||||
|
margin : 0;
|
||||||
|
padding : 0;
|
||||||
|
spacing : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon, element-text, scrollbar {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
location : northwest;
|
||||||
|
width : 280px;
|
||||||
|
x-offset : 4px;
|
||||||
|
y-offset : 26px;
|
||||||
|
|
||||||
|
background-color: @bg1;
|
||||||
|
border: 1px;
|
||||||
|
border-color: @bg3;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
spacing : 8px;
|
||||||
|
padding : 4px 8px;
|
||||||
|
children : [ icon-search, entry ];
|
||||||
|
|
||||||
|
background-color: @bg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
icon-search, entry, element-icon, element-text {
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
icon-search {
|
||||||
|
expand : false;
|
||||||
|
filename : "search-symbolic";
|
||||||
|
size : 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding : 4px 8px;
|
||||||
|
background-color : @bg2;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
padding : 4px 0px;
|
||||||
|
lines : 12;
|
||||||
|
columns : 1;
|
||||||
|
scrollbar : true;
|
||||||
|
fixed-height : false;
|
||||||
|
dynamic : true;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding : 4px 8px;
|
||||||
|
spacing : 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal urgent {
|
||||||
|
text-color: @urgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal active {
|
||||||
|
text-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate active {
|
||||||
|
text-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
text-color : @bg1;
|
||||||
|
background-color : @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected urgent {
|
||||||
|
background-color: @urgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
handle-width : 4px;
|
||||||
|
handle-color : @fg2;
|
||||||
|
padding : 0 4px;
|
||||||
|
}
|
||||||
21
nix/hardware/audio.nix
Normal file
21
nix/hardware/audio.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, rootPath
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.kp2pml30;
|
||||||
|
in lib.mkIf cfg.hardware.audio {
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alsa-utils
|
||||||
|
acpid
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -10,11 +10,13 @@
|
||||||
|
|
||||||
options.kp2pml30.hardware = {
|
options.kp2pml30.hardware = {
|
||||||
wireless = lib.mkEnableOption "";
|
wireless = lib.mkEnableOption "";
|
||||||
|
audio = lib.mkEnableOption "";
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./efiGrub.nix
|
./efiGrub.nix
|
||||||
./wireless.nix
|
./wireless.nix
|
||||||
|
./audio.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,10 @@ in {
|
||||||
kitty = lib.mkEnableOption "";
|
kitty = lib.mkEnableOption "";
|
||||||
opera = lib.mkEnableOption "";
|
opera = lib.mkEnableOption "";
|
||||||
steam = lib.mkEnableOption "";
|
steam = lib.mkEnableOption "";
|
||||||
|
messengers = {
|
||||||
|
personal = lib.mkEnableOption "";
|
||||||
|
work = lib.mkEnableOption "";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -53,6 +57,7 @@ in {
|
||||||
fishPlugins.grc
|
fishPlugins.grc
|
||||||
fishPlugins.bass
|
fishPlugins.bass
|
||||||
|
|
||||||
|
python312 # needed for bass
|
||||||
grc
|
grc
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -67,6 +72,7 @@ in {
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
"nvidia-persistenced"
|
"nvidia-persistenced"
|
||||||
"opera"
|
"opera"
|
||||||
|
"discord-ptb"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@ in {
|
||||||
|
|
||||||
./opera.nix
|
./opera.nix
|
||||||
./steam.nix
|
./steam.nix
|
||||||
|
|
||||||
|
./messengers.nix
|
||||||
|
./messengers-work.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
|
|
|
||||||
10
nix/personal/graphical/messengers-work.nix
Normal file
10
nix/personal/graphical/messengers-work.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, rootPath
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.kp2pml30;
|
||||||
|
in lib.mkIf cfg.messengers.personal {
|
||||||
|
}
|
||||||
15
nix/personal/graphical/messengers.nix
Normal file
15
nix/personal/graphical/messengers.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, rootPath
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.kp2pml30;
|
||||||
|
in lib.mkIf cfg.messengers.personal {
|
||||||
|
users.users.${cfg.username}.packages = with pkgs; [
|
||||||
|
discord-ptb
|
||||||
|
telegram-desktop
|
||||||
|
signal-desktop
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -31,12 +31,23 @@ in lib.mkIf cfg.xserver {
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
xclip
|
xclip
|
||||||
|
brightnessctl
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${cfg.username} = {
|
home-manager.users.${cfg.username} = {
|
||||||
home.file.".config/awesome/rc.lua" = { source = rootPath + "/home/.config/awesome/rc.lua"; };
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
home.file.".config/rofi" = { source = rootPath + "/home/.config/rofi"; recursive = true; };
|
||||||
|
|
||||||
|
home.file.".config/awesome/rc.lua" = { source = rootPath + "/home/.config/awesome/rc.lua"; };
|
||||||
|
home.file.".config/awesome/theme.lua" = { source = rootPath + "/home/.config/awesome/theme.lua"; };
|
||||||
|
home.file.".config/awesome/deficient" = {
|
||||||
|
source = builtins.fetchGit {
|
||||||
|
url = "https://github.com/deficient/deficient.git";
|
||||||
|
rev = "22ad2bea198f0c231afac0b7197d9b4eb6d80da3";
|
||||||
|
};
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,12 @@ in lib.mkIf cfg.nginx {
|
||||||
|
|
||||||
listen = [
|
listen = [
|
||||||
{ addr = "0.0.0.0"; port = 80; }
|
{ addr = "0.0.0.0"; port = 80; }
|
||||||
{ addr = "0.0.0.0"; port = 444; ssl = true; }
|
# { addr = "0.0.0.0"; port = 444; ssl = true; }
|
||||||
];
|
];
|
||||||
|
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
root = cfg.sitePath;
|
root = cfg.sitePath;
|
||||||
tryFiles = "$uri $uri/ index.html";
|
tryFiles = "$uri $uri/ /index.html";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
% # run it like this: `erb ports='[]' iptables.erb | iptables-restore`
|
|
||||||
% # NOTE: it discards docker iptable rules
|
|
||||||
*filter
|
|
||||||
|
|
||||||
-N DOCKER-USER
|
|
||||||
-N DOCKER-ISOLATION-STAGE-1
|
|
||||||
|
|
||||||
# don't restrict output at all
|
|
||||||
-A OUTPUT -j ACCEPT
|
|
||||||
|
|
||||||
# allow all loopback
|
|
||||||
-A INPUT -i lo -j ACCEPT
|
|
||||||
-A FORWARD -i lo -j ACCEPT
|
|
||||||
|
|
||||||
# allow all established
|
|
||||||
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
-A DOCKER-USER -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
|
|
||||||
# allow wireguard
|
|
||||||
-A INPUT -i wg0 -j ACCEPT
|
|
||||||
-A FORWARD -i wg0 -j ACCEPT
|
|
||||||
-A DOCKER-USER -i wg0 -j ACCEPT
|
|
||||||
|
|
||||||
# allow all docker
|
|
||||||
-A DOCKER-USER -i docker0 -j DOCKER-ISOLATION-STAGE-1
|
|
||||||
|
|
||||||
% require 'json'
|
|
||||||
% prts = [22, 80, 443] + JSON.parse(ports)
|
|
||||||
# apply it with `iptables-restore < ./iptables`
|
|
||||||
|
|
||||||
# allow all loopback
|
|
||||||
-A INPUT -i lo -j ACCEPT
|
|
||||||
|
|
||||||
# custom ports
|
|
||||||
% prts.each { |port|
|
|
||||||
% ['tcp', 'udp'].each { |proto|
|
|
||||||
-A FORWARD -p <%= proto %> --dport <%= port %> -j ACCEPT
|
|
||||||
-A INPUT -p <%= proto %> --dport <%= port %> -j ACCEPT
|
|
||||||
-A DOCKER-USER -p <%= proto %> -m conntrack --ctorigdstport <%= port %> --ctdir ORIGINAL -j ACCEPT
|
|
||||||
% }
|
|
||||||
|
|
||||||
% }
|
|
||||||
%
|
|
||||||
# disallow all other
|
|
||||||
-A INPUT -j DROP
|
|
||||||
-A FORWARD -j DROP
|
|
||||||
-A DOCKER-USER -j DROP
|
|
||||||
|
|
||||||
COMMIT
|
|
||||||
|
|
@ -1,118 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
|
|
||||||
HOST=""
|
|
||||||
PORT=""
|
|
||||||
GENKEY=false
|
|
||||||
|
|
||||||
function show_help {
|
|
||||||
echo "wireguard configurator"
|
|
||||||
echo " --host host-name"
|
|
||||||
echo " --port port"
|
|
||||||
echo " [--gen-key]"
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ $# -ne 0 ]
|
|
||||||
do
|
|
||||||
ARG="$1"
|
|
||||||
shift
|
|
||||||
case "$ARG" in
|
|
||||||
--help)
|
|
||||||
show_help
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
--host)
|
|
||||||
HOST="$1"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--port)
|
|
||||||
PORT="$1"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--gen-keys)
|
|
||||||
GENKEY=true
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "unknown argument $ARG"
|
|
||||||
show_help
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Parsed:"
|
|
||||||
echo " --host $HOST"
|
|
||||||
echo " --port $PORTI"
|
|
||||||
|
|
||||||
if [ "$HOST" == "" ]
|
|
||||||
then
|
|
||||||
echo "host not set"
|
|
||||||
show_help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$PORT" == "" ]
|
|
||||||
then
|
|
||||||
echo "port not set"
|
|
||||||
show_help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f .gitignore ]
|
|
||||||
then
|
|
||||||
echo "INFO creating gitignore"
|
|
||||||
touch .gitignore
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! grep -Pq '^/key$' .gitignore
|
|
||||||
then
|
|
||||||
echo "INFO adding key to .gitignore"
|
|
||||||
echo "/key" >> .gitignore
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! grep -Pq '^/wg0\.conf$' .gitignore
|
|
||||||
then
|
|
||||||
echo "INFO adding wg0.conf to .gitignore"
|
|
||||||
echo "/wg0.conf" >> .gitignore
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$GENKEY" == "true" ]
|
|
||||||
then
|
|
||||||
touch key
|
|
||||||
chmod 600 key
|
|
||||||
wg genkey > key
|
|
||||||
wg pubkey < key > key.pub
|
|
||||||
fi
|
|
||||||
|
|
||||||
touch wg0.conf
|
|
||||||
chmod 600 wg0.conf
|
|
||||||
KEY="$(cat key)"
|
|
||||||
erb "private_key=$KEY" port="$PORT" "$SCRIPT_DIR/wg0.conf.erb" > wg0.conf
|
|
||||||
KEY=""
|
|
||||||
|
|
||||||
PUBKEY="$(cat key.pub)"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Run following to start wireguard:"
|
|
||||||
echo " wg-quick up ./wg0.conf"
|
|
||||||
echo "You can add peers as follows:"
|
|
||||||
echo " wg set wg0 peer <pub key> allowed-ips IP"
|
|
||||||
echo ""
|
|
||||||
echo "Client's configuration is"
|
|
||||||
echo "=================================="
|
|
||||||
cat <<-EOF
|
|
||||||
[Interface]
|
|
||||||
Address = 10.30.30.@@/32
|
|
||||||
PrivateKey = <Private key>
|
|
||||||
DNS = 10.30.30.1
|
|
||||||
|
|
||||||
[Peer]
|
|
||||||
PublicKey = $PUBKEY
|
|
||||||
Endpoint = $HOST:$PORT
|
|
||||||
AllowedIPs = 10.30.30.0/24
|
|
||||||
PersistentKeepalive = 25
|
|
||||||
EOF
|
|
||||||
echo "=================================="
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue