remove penrose
This commit is contained in:
parent
e83ed58b9a
commit
a0e4ab888f
|
@ -68,6 +68,9 @@
|
||||||
services.xserver.displayManager.lightdm.enable = true;
|
services.xserver.displayManager.lightdm.enable = true;
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
# enable xmonad
|
||||||
|
services.xserver.windowManager.xmonad.enable = true;
|
||||||
|
|
||||||
# enable penrose
|
# enable penrose
|
||||||
# services.xserver.displayManager.session = [
|
# services.xserver.displayManager.session = [
|
||||||
# {
|
# {
|
||||||
|
|
11
home.nix
11
home.nix
|
@ -4,18 +4,29 @@ let
|
||||||
fishCustom = import ./fish/settings.nix;
|
fishCustom = import ./fish/settings.nix;
|
||||||
kittyCustom = import ./kitty/settings.nix;
|
kittyCustom = import ./kitty/settings.nix;
|
||||||
rofiCustom = import ./rofi/settings.nix;
|
rofiCustom = import ./rofi/settings.nix;
|
||||||
|
xmonadCustom = import ./xmonad/settings.nix;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.zoe = { pkgs, ... }: {
|
home-manager.users.zoe = { pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
haskellPackages.haskell-language-server
|
||||||
|
haskellPackages.hoogle
|
||||||
|
cabal-install
|
||||||
|
stack
|
||||||
|
];
|
||||||
|
|
||||||
programs.kitty = kittyCustom pkgs;
|
programs.kitty = kittyCustom pkgs;
|
||||||
programs.neovim = nvimCustom pkgs;
|
programs.neovim = nvimCustom pkgs;
|
||||||
programs.fish = fishCustom pkgs;
|
programs.fish = fishCustom pkgs;
|
||||||
programs.rofi = rofiCustom pkgs;
|
programs.rofi = rofiCustom pkgs;
|
||||||
|
xsession.windowManager.xmonad = xmonadCustom pkgs;
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "zoe";
|
userName = "zoe";
|
||||||
userEmail = "ZoeOosting@outlook.com";
|
userEmail = "ZoeOosting@outlook.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.mpv.config = {
|
programs.mpv.config = {
|
||||||
ytdl-format = "bestvideo[height<=?720]+bestaudio";
|
ytdl-format = "bestvideo[height<=?720]+bestaudio";
|
||||||
ytdl-path = "yt-dlp";
|
ytdl-path = "yt-dlp";
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
noto-fonts-emoji
|
noto-fonts
|
||||||
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
|
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "penrose-custom"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
penrose="0.2"
|
|
||||||
log4rs="1"
|
|
||||||
log = "0.4"
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ pkgs ? import <nixpkgs> { } }:
|
|
||||||
pkgs.mkShell {
|
|
||||||
nativeBuildInputs = with pkgs; [ rustc cargo gcc pango cairo pkg-config python311 ];
|
|
||||||
buildInputs = with pkgs; [ rustfmt clippy ];
|
|
||||||
|
|
||||||
# Certain Rust tools won't work without this
|
|
||||||
# This can also be fixed by using oxalica/rust-overlay and specifying the rust-src extension
|
|
||||||
# See https://discourse.nixos.org/t/rust-src-not-found-and-other-misadventures-of-developing-rust-on-nixos/11570/3?u=samuela. for more details.
|
|
||||||
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
use penrose::Config;
|
|
||||||
|
|
||||||
pub fn get_config() -> Config {
|
|
||||||
Config::builder(&Config::default())
|
|
||||||
.show_bar(false)
|
|
||||||
.build()
|
|
||||||
.unwrap()
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
use log::SetLoggerError;
|
|
||||||
use log4rs::{
|
|
||||||
append::{
|
|
||||||
console::{ConsoleAppender, Target},
|
|
||||||
file::FileAppender,
|
|
||||||
},
|
|
||||||
config::{Appender, Config, Root},
|
|
||||||
encode::pattern::PatternEncoder,
|
|
||||||
filter::threshold::ThresholdFilter,
|
|
||||||
};
|
|
||||||
|
|
||||||
use std::fs;
|
|
||||||
|
|
||||||
pub fn init_log(
|
|
||||||
log_path: &String,
|
|
||||||
log_size: f64,
|
|
||||||
console_level: log::LevelFilter,
|
|
||||||
file_level: log::LevelFilter,
|
|
||||||
) -> Result<(), SetLoggerError> {
|
|
||||||
// if the log file is bigger than log_size in bytes, we replace the log file instead of
|
|
||||||
// appending to it.
|
|
||||||
let mut append = true;
|
|
||||||
match fs::metadata(log_path) {
|
|
||||||
Ok(log) => {
|
|
||||||
if log.len() as f64 > log_size * 1048576.0 {
|
|
||||||
append = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(_) => {
|
|
||||||
append = true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// creates configuration for the log file
|
|
||||||
let log_file = FileAppender::builder()
|
|
||||||
.encoder(Box::new(PatternEncoder::new(
|
|
||||||
"{l} {d(%Y-%m-%d %H:%M:%S)} - {m}\n",
|
|
||||||
)))
|
|
||||||
.append(append)
|
|
||||||
.build(log_path)
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
// creates configuration for stderr outputs
|
|
||||||
let stderr = ConsoleAppender::builder()
|
|
||||||
.target(Target::Stderr)
|
|
||||||
.encoder(Box::new(PatternEncoder::new(
|
|
||||||
"{h({l})} {d(%Y-%m-%d %H:%M:%S)} - {m}\n", // pattern is the same as in the log file,
|
|
||||||
// but slightly more colourful
|
|
||||||
)))
|
|
||||||
.build();
|
|
||||||
|
|
||||||
// creates the full configuration using log_file and stderr
|
|
||||||
let config = Config::builder()
|
|
||||||
.appender(
|
|
||||||
Appender::builder()
|
|
||||||
.filter(Box::new(ThresholdFilter::new(file_level)))
|
|
||||||
.build("log_file", Box::new(log_file)),
|
|
||||||
)
|
|
||||||
.appender(
|
|
||||||
Appender::builder()
|
|
||||||
.filter(Box::new(ThresholdFilter::new(console_level)))
|
|
||||||
.build("stderr", Box::new(stderr)),
|
|
||||||
)
|
|
||||||
.build(
|
|
||||||
Root::builder()
|
|
||||||
.appender("log_file")
|
|
||||||
.appender("stderr")
|
|
||||||
.build(log::LevelFilter::Trace),
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
// initializes config
|
|
||||||
let _handle = log4rs::init_config(config)?;
|
|
||||||
|
|
||||||
// send a lil message announcing that logging has started successfully
|
|
||||||
info!("Logging has started :)");
|
|
||||||
Ok(()) //Ok
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
#[macro_use]
|
|
||||||
extern crate penrose;
|
|
||||||
|
|
||||||
#[macro_use]
|
|
||||||
extern crate log as logmacro;
|
|
||||||
|
|
||||||
use penrose::{
|
|
||||||
core::helpers::index_selectors, logging_error_handler, xcb::new_xcb_backed_window_manager,
|
|
||||||
Backward, Forward, Less, More, Selector,
|
|
||||||
};
|
|
||||||
|
|
||||||
mod config;
|
|
||||||
mod logger;
|
|
||||||
mod screens;
|
|
||||||
|
|
||||||
// Replace these with your preferred terminal and program launcher
|
|
||||||
const TERMINAL: &str = "kitty";
|
|
||||||
const LAUNCHER: &str =
|
|
||||||
"rofi -combi-modi window,drun,scripts,ssh, -show-icons -show combi -modi combi";
|
|
||||||
|
|
||||||
fn main() -> penrose::Result<()> {
|
|
||||||
logger::init_log(
|
|
||||||
//path
|
|
||||||
&"/home/zoe/.penrose.log".to_string(),
|
|
||||||
// size in mb
|
|
||||||
5.0,
|
|
||||||
// loglevels
|
|
||||||
log::LevelFilter::Info,
|
|
||||||
log::LevelFilter::Info,
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
// Initialise the logger (use LevelFilter::Debug to enable debug logging)
|
|
||||||
let config = config::get_config();
|
|
||||||
let key_bindings = gen_keybindings! {
|
|
||||||
// Program launchers
|
|
||||||
"M-semicolon" => run_external!(LAUNCHER);
|
|
||||||
"M-Return" => run_external!(TERMINAL);
|
|
||||||
|
|
||||||
// Exit Penrose (important to remember this one!)
|
|
||||||
"M-A-C-Escape" => run_internal!(exit);
|
|
||||||
|
|
||||||
// client management
|
|
||||||
"M-j" => run_internal!(cycle_client, Forward);
|
|
||||||
"M-k" => run_internal!(cycle_client, Backward);
|
|
||||||
"M-S-j" => run_internal!(drag_client, Forward);
|
|
||||||
"M-S-k" => run_internal!(drag_client, Backward);
|
|
||||||
"M-f" => run_internal!(toggle_client_fullscreen, &Selector::Focused);
|
|
||||||
"M-S-q" => run_internal!(kill_client);
|
|
||||||
|
|
||||||
// workspace management
|
|
||||||
"M-Tab" => run_internal!(toggle_workspace);
|
|
||||||
"M-A-period" => run_internal!(cycle_workspace, Forward);
|
|
||||||
"M-A-comma" => run_internal!(cycle_workspace, Backward);
|
|
||||||
|
|
||||||
// Layout management
|
|
||||||
"M-grave" => run_internal!(cycle_layout, Forward);
|
|
||||||
"M-S-grave" => run_internal!(cycle_layout, Backward);
|
|
||||||
"M-A-Up" => run_internal!(update_max_main, More);
|
|
||||||
"M-A-Down" => run_internal!(update_max_main, Less);
|
|
||||||
"M-A-Right" => run_internal!(update_main_ratio, More);
|
|
||||||
"M-A-Left" => run_internal!(update_main_ratio, Less);
|
|
||||||
|
|
||||||
map: { "1", "2", "3", "4", "5", "6", "7", "8", "9" } to index_selectors(9) => {
|
|
||||||
"M-{}" => focus_workspace (REF);
|
|
||||||
"M-S-{}" => client_to_workspace (REF);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut wm = match new_xcb_backed_window_manager(config, vec![], logging_error_handler()) {
|
|
||||||
Err(e) => {
|
|
||||||
error!("{}", e);
|
|
||||||
return Err(e);
|
|
||||||
}
|
|
||||||
Ok(connection) => connection,
|
|
||||||
};
|
|
||||||
wm.grab_keys_and_run(key_bindings, map! {})
|
|
||||||
}
|
|
9
sync.sh
9
sync.sh
|
@ -4,18 +4,13 @@
|
||||||
git pull
|
git pull
|
||||||
|
|
||||||
# format everything to look nice
|
# format everything to look nice
|
||||||
nixpkgs-fmt *.nix
|
nixpkgs-fmt *.nix ./*/*.nix
|
||||||
nixpkgs-fmt ./nvim/*.nix
|
|
||||||
nixpkgs-fmt ./penrose/*.nix
|
|
||||||
nixpkgs-fmt ./fish/*.nix
|
|
||||||
nixpkgs-fmt ./kitty/*.nix
|
|
||||||
nixpkgs-fmt ./rofi/*.nix
|
|
||||||
|
|
||||||
# make a backup just in case
|
# make a backup just in case
|
||||||
# cp -r /etc/nixos/ ./backup
|
# cp -r /etc/nixos/ ./backup
|
||||||
|
|
||||||
# copy over all the files to /etc/nixos/
|
# copy over all the files to /etc/nixos/
|
||||||
sudo cp -r ./configuration.nix ./rofi ./fish ./kitty ./nvim/ ./packages.nix ./home.nix ./user.nix /etc/nixos/
|
sudo cp -r ./configuration.nix ./xmonad ./rofi ./fish ./kitty ./nvim/ ./packages.nix ./home.nix ./user.nix /etc/nixos/
|
||||||
|
|
||||||
# build penrose and copy it to nixos folder
|
# build penrose and copy it to nixos folder
|
||||||
# cd ./penrose
|
# cd ./penrose
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
enableContribAndExtras = true;
|
||||||
|
extraPackages = haskellPackages: [
|
||||||
|
haskellPackages.dbus
|
||||||
|
haskellPackages.List
|
||||||
|
haskellPackages.monad-logger
|
||||||
|
haskellPackages.xmonad
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue